問題タブ [sbcl]
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.
vim - LimpがSBCLに接続するために使用する画面マネージャーである「Screen」のフォントサイズを変更するにはどうすればよいですか?
私は最近Lispを使い始めましたが、VIMで利用できるプラグインはLimpだけです。しかし、設定してF12キーを押すと、表示されるウィンドウのような端末のフォントサイズが非常に小さくなります。私の画面解像度は1920x1080で、このような小さなフォントを読むのは実用的ではありません。'screen'のマニュアルページを調べましたが、フォントやフォントサイズの変更に関する有用な情報が見つかりませんでした。これを行う方法はありますか?
そして、「screen」ではなく「xterm」のようなものを使用するのはどうですか?bridge.vimのコードを調べました。そんなに大変なことではないと思います。これについて何かアイデアはありますか?
compiler-construction - 内部sbclパッケージをトレースすると、コントロールスタックオーバーフローが発生します
sbcl内部をデバッグするために、sbcl内部パッケージをトレースしてみました。
たとえば、私は試しました
これにより、コントロールスタックオーバーフローが発生します。SBCLの起動中に制御スタックサイズの起動オプションを変更しようとしましたが、変更されませんでした。
または、次を使用して関数を変更しようとしました:(スニペットのみ)
指定されたパッケージに属するシンボルの場合のみ、do-all-symbolsの下にあります。
それでもオーバーフローエラーが発生します。上記のコードは、バインディングスタックの枯渇エラーを示しています。おそらく誰かがバインディングスタックサイズを制御する方法を説明できますか?
あるいは、誰かがコンパイル中に内部SBCL関数定義を変更する方法を指摘できれば、それも素晴らしいことでしょうか?その場合、そのトリックを使用してソースからSBCLを再コンパイルできます。
performance - Common Lisp、特に SBCL での線形代数の効率的なベクトル操作?
以下のプログラムは非常に非効率的です。SBCL 1.0.53 では 6.361 秒の非 GC 時間とは対照的に、GC 時間は 28.980 秒かかります。
時間:
vec3 の抽象化を維持しながら、より効率的な方法で計算する方法はありますか?
たとえば、マクロを使用して Worker/Wrapper 変換を実装すると、vec3 conses を排除できます。
別の方法として、vec3 のコンス プールを作成すると、メモリ割り当てが減少します。
理想的には、SBCL が vec3 のような一部のデータ構造の非記述子表現を配列要素としてサポートするとよいでしょう。
printing - SBCL 印刷順序と読み取り順序を切り替える (lisp)
私はまだ Lisp を学んでいるので、この問題に遭遇したときは混乱しました。最初に印刷してから入力を読み取りたい単純な関数があります。
したがって、これを CLISP で実行すると、期待どおりの結果が表示され、? が出力され、同じ行に read 関数への入力を書き込むことができました。
これを SBCL で実行すると、うまくいきませんでした。最初に入力を求めてから、? を出力します。改行を作成していないことが原因である可能性があると考えましたが、同じ行の SBCL でこれを機能させる方法を本当に知りたかったのです。また、CLISP での結果が正しく、SBCL での結果が正しくないのはなぜでしょうか。よろしくお願いいたします。
networking - usocket で utf-8 文字列を読み取る方法
以下のコードを使用してusocketストリームから読み取っていたとき:
read-line が ASCII 以外の文字に遭遇すると、例外がスローされます。
read-line も read-byte も機能しないので、trivial-utf-8 を使用して read-utf-8-string を使用して utf-8 文字列を読み取ろうとしましたが、バイナリ ストリームのみを受け入れ、socket-stream は受け入れないようです。バイナリストリームを作成するので、非ASCII文字を持つソケットストリームから読み取る方法を混乱させましたか?
utf-8 - babel:octets-to-string が INVALID-UTF8-CONTINUATION-BYTE をスローする
私は中国語の Web サイトの Web ページを取得する Lisp プログラムを書いています。バイナリ ストリームから中国語の単語を解析する際に問題が発生しました。それをbabel:octets-to-stringに入れると、例外がスローされます。
(setf buffer (babel:octets-to-string buffer :encoding :utf-8))
例外は次のとおりです。
437 番目から始まる UTF-8 文字が無効です。[BABEL-ENCODINGS:INVALID-UTF8-CONTINUATION-BYTE 型の条件]
中国語の単語に遭遇すると、この例外を破棄しなければならないことがわかりました。どうすれば解決できますか?
debugging - SBCLでステッパーを使用する簡単な例
LispWorksステッパーを使用して計算を行うのはかなり直感的ですが、SBCLでは理解できません。誰かが私にいくつかの簡単な機能でREPLでSBCLステッパーを使用する方法のステップバイステップの例を教えてもらえますか?ありがとう。
lisp - .sbclrc の演算子 #+ および #-
#+
と の#-
演算子の意味を知っている人はい.sbclrc
ますか? マニュアルでは見つけられませんでした。私はquicklispをインストール#-
した後、私は見る:.sbclrc
SBCL のユーザー マニュアルにも#+
記載されていますが、機能の説明が見つかりませんでした。個々のモジュールのロードに関連するもののように見えます。
それらは SBCL 実装のためだけですか、それとも Common Lisp の一部ですか?
lisp - 奇妙なパス名?
sbcl-1.0.54 を使用しています。
どんな提案でも大歓迎です!
stream - Common Lisp で外部プログラムのバイナリ出力を読み取る
SBCL で外部プログラムを実行し、その出力を取得しようとしています。出力はバイナリ データ (png 画像) ですが、SBCL はそれを文字列として解釈することを主張しています。
私はいくつかの方法を試しました
しかし、次のようなエラーが発生します
SBCL はバイナリ データをテキストとして解釈し、デコードしようとしているように思えます。この動作を変更するにはどうすればよいですか? オクテットのベクトルを取得することにのみ関心があります。
flexi-streams:octect
編集:上記のテキストからは明確ではないため、少なくとも flexi-stream の場合、ストリームの要素タイプは a ( a ) であることを追加したいと思います(unsigned-byte 8)
。少なくともこの場合run-program
、多くの問題なしに生のバイトを読み取ることが期待されます。代わりに、次のようなメッセージが表示されますDon't know how to copy to stream of element-type (UNSIGNED-BYTE 8)