問題タブ [chez-scheme]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scheme - スキームバイトベクトルから外部生バイトポインタを取得する方法は?
Scheme は、バイトおよびbytevector
バイト配列に対して低レベルの操作を行うために使用できる型を提供します ( r6rsおよびchezのマニュアルを参照)。ただし、格納しているバイト配列への基になるポインターを取得する方法を提供していないようです。バイトベクトルからデータを入力または読み取るために、そのポインターを外部 C 関数に渡す必要があります。
コンテキストについてより正確に言うと、Scheme をバックエンドとして使用している Idris2 でバイトを低レベルで処理するためのコードを書き込もうとしていますが、Scheme の初心者なので、明らかに何かを見落としています。バイトベクトルからこのポインタを抽出するアプローチ?
macos - Idris2 のインストール時の Chez スキームでの realpath エラー
これは私のマシンです
Idris2 をインストールするには、このガイドに従っています。
私がこれまでやってきたことは、
brew install idris
idris
コマンドで検証brew install chezscheme
petite
コマンドで検証brew install gmp
未検証git clone https://github.com/edwinb/Idris2.git
make install
レポで
タイプチェックに時間がかかり、エラーが発生するまで Chez Scheme で何かを実行し始めました。エラーの前の出力の最後の数行を次に示します
idris2
コマンドを実行すると、次のようになります。
解決策の更新
必ず環境変数に追加~/.idris2/bin
してください$PATH
scheme - fixnum 符号ビットへの左シフト
正の fixnum から符号位置に少しシフトする方法を探しています。基本的に、私が望むのは、オーバーフロー チェックなしで fixnum 左シフトを実行する予測可能な (未定義ではない) 方法です。
非効率的な実装は次のようになります。
理想的には、これは単一の CPU 命令にコンパイルされます (少なくとも定数シフトの場合。レジスタと同じ幅またはそれより広いシフトを処理する方法が CPU によって異なります)。
linux - Chez スキームを 64 ビット アームにコンパイルしてインストールしますか?
Chez スキームコンパイラの Racket バックエンド バリアントをコンパイルしてインストールしようとしました。これは、まだ 32 ビット ArmV6 に制限されているメインラインのChez スキームとは異なり、aarch64 Arm 64 アーキテクチャをサポートしているように見えるためです。これを、64 ビット aarch64 Raspbian (現在は Raspberry Pi OS に名前が変更されています) を実行している Raspberry Pi 4 で実行しています。
ソース コードをダウンロードして実行しようとすると./configure
、nanopass および zlib サブモジュールがないというエラー メッセージが表示されます。
Chez Scheme をコンパイルして 64 ビット ARM にインストールするにはどうすればよいですか?