問題タブ [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.
recursion - sbcl は、関数の 2 回目の呼び出しで永遠に実行されます
関数:
リスト lst が与えられると、正確に長さ k のリストの内容のすべての順列が返されます。指定されていない場合は、デフォルトでリストの長さに設定されます。
問題: sbcl に接続された emacs で SLIME を使用していますが、まだあまりカスタマイズしていません。この関数は、lst = '(1 2 3 4 5 6 7 8) k = 3 のような小さな入力で問題なく動作します。これは、実際にはほとんどの場合に使用されます。ただし、大きな入力で2回続けて呼び出すと、2番目の呼び出しは返されず、sbclも上に表示されません。これらは REPL での結果です。
そして、2回目の呼び出しから戻ってくることはありません。なんらかの理由でガベージコレクターに恐ろしいことをしているとしか思えませんが、何がわかりません。誰にもアイデアはありますか?
lisp - Steel Bank Common Lispで入力ストリームと出力ストリームを処理するには?
私は、開始したあるプログラムの出力ストリームを使用して、RUN-PROGRAM
開始した別のプログラムの入力として使用できるようにする方法を理解しようとしていますRUN-PROGRAM
(つまり、パイプの道徳的およびおそらく文字通りの等価物)。:INPUT
,:OUTPUT
と:WAIT
キーワード引数の組み合わせをいくつか試してみましたが、これまでのところ生産的なものは何もありませんでした. どんなヒントでも役に立ちます。たとえば、ls | grep lisp
シェルから次のようなことを行うにはどうすればよいでしょうか?
私の試みの1つは
これを SLIME REPL で実行するとC-c C-c
、私が .
編集::WAIT NIL
両方の呼び出しに追加するRUN-PROGRAM
か、または の呼び出しのみに追加してもgrep
、うまくいきません。その場合、関数はハングし、中断すると、ハングしたローカル関数 ( で定義) が呼び出されC-c C-c
たことを示すスタック トレースが取得されます。FLET
SB-UNIX:SELECT
linux - nohupSBCLubuntuが標準入力から読み取れませんでした
Ubuntuでは、スレッドを使用してsbcl1.0.35をコンパイルしました。コマンドラインからsbclをうまく使用でき、hunchentoot Webサイトはスレッド化で機能しますが、ログアウトすると消えてしまいます。sbclをnohupしようとすると
nohup ./src/runtime/sbcl --core output / sbcl.core
私は得る
(SB-IMPL :: SIMPLE-STREAM-PERROR "〜Sから読み取ることができませんでした"#9)
標準入力を/dev/ nullまたはファイルにリダイレクトし、スクリプトコマンドラインオプションを使用するさまざまな組み合わせを試しましたが、何が起こっているのかよくわかりません。
Linuxのコマンドラインからnohupを使用してsbclを起動し、repl(website)を実行し続けるにはどうすればよいですか?
common-lisp - change-classを使用して、数値から多項式オブジェクトを作成します
SICP 2.5.3で説明されている行に沿って多項式クラスを作成しました(defclassの使用を除く)。多項式とハミング数をシームレスに加算および乗算できるようにしたいのですが、change-classに数値を受け入れさせることはできません。
クラスを整数から浮動小数点に変更して、問題を単純化しようとしました。
しかし、それは私にエラーを与えました:
(fyi)から同じ形式のエラーが発生します:
先に進んで手動変換を実装しますが、組み込みのclos機能を使用したいと思います。
Xachが指摘しているように、強制またはフロートを使用して4をフロートに変更できます。これは、私がやろうとしていたことのより簡単な例として、また、update-instance-for-different-classが間違っている可能性を排除することを目的としていました。
これが私が試したものの長いバージョンで、うまくいきませんでした:
上記の例のようなエラーがまだ発生します。
debugging - lisp(sbcl)で警告を無効にするにはどうすればよいですか?
のすべての警告を無効にするにはどうすればよいsbcl
ですか?余分な出力はかなり面倒です。
macos - Mac OS X に CLSQL をインストールする
10.5.8 を実行している Intel Core 2 Duo Macbook に SBCL を (macports/darwinports 経由で) インストールしました。次のようなライブラリをいくつかインストールしました。
しかし、CLSQL を'clsql
ダウンロードした後にこの方法 ( ) でインストールしようとすると、次のようになりました。
忘れていたこと、または Mac OS X でビルドするためのトリックはありますか? 私は最近、Mac の C ライブラリについてほとんど知らないので、どこから始めればよいかさえわかりません。
ありがとう!
sockets - SBCL のソケットを使用して、以前に開いたポートを再利用するにはどうすればよいですか?
以前に使用したのと同じポートを使用しようとすると、サーバー側ソケットの作成が失敗します。アドレス使用中エラーが発生します。
これが起こらないようにするにはどうすればよいですか?
ヒントとコード スニペットは大歓迎です。(CL初心者はこちら)
ありがとう!
windows - Lispファイルを簡単に「実行」するにはどうすればよいですか
パイソン
私が Python を学んだとき、Windows に素敵な GUI インストーラーで Python をインストールしました。すべての .py ファイルは、コマンド ラインまたはエクスプローラーから Python で自動的に実行されます。
すぐにプレーン テキスト ファイルを作成して実行できるため、これは非常に直感的で簡単であることがわかりました。
舌足らずの発音
私は Lisp を学び始めており、(レビューから) SBCL は悪い Lisp 実装ではないと判断しました。
Python と同じくらい簡単に .lisp ファイルを実行するように SBCL をセットアップする方法はありますか?
これを持つ他の Lisp 実装はありますか?
macos - 「GNUMakeが見つかりません。環境変数GNUMAKEを設定してみてください。」
この記事で説明されているように、Steel BankCommonLispをインストールしようとしています。
ただし、この手順を実行すると、次のようになります。
このエラーが発生します:
正確には、GNU Makeをインストールし、Mac OS Xで環境変数GNUMAKEを設定するにはどうすればよいですか?
debugging - sbcl でデバッガをオフにする方法
私は現在 Common Lisp を学ぼうとしており、sbcl を使用しています (これが適切な実装の選択であることを願っています)。
ruby と irb から来た私は、現時点では、間違いごとにデバッガーに自動的に移動するのが少し面倒だと思います。遊んでいるときに一時的にオフにする方法はありますか?