問題タブ [gnu-common-lisp]
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.
debugging - gclを使用してCommon Lispでトレースするには?
関数のすべての呼び出しを出力して、再帰的なプログラムをデバッグする方法はありますか?
lisp - forkpty() を実装する GNU Common Lisp パッケージ
を実装する GNU Common Lisp パッケージを探していますforkpty()
。openpty()
それも大きなプラスになりlogin_tty()
、私が一緒に暮らすことができる贅沢になるでしょう. (Duckduckgo、Google などは役に立ちませんでした。) そのようなものはありますか? どこ?
lisp - GNU Common Lisp の (type-of) の詳細
REPL で次のように入力した場合:
次に、応答を取得します。
けっこうだ。したがって、REPL で次のように入力した場合:
次に、応答を取得します。
2 つの質問があります。
T
ここで私に言っていることは何ですか?もしそれがNIL
代わりだったとしたら、それは私に何を教えてくれただろうか?- 自分でこの答えをどこで見つけることができたでしょうか? (たとえば) Lisp HyperSpec で答えを見つけることができませんでした。
lisp - GNU clisp: no-applicable-method に関する警告メッセージの抑制
このコードは、警告メッセージを除いて、私が望むように機能します。GNU Common Lisp では、他の可能性のある警告メッセージを抑制せずにそのメッセージを抑制するにはどうすればよいですか?
Vatineの親切な返信に応じて編集します。
私はそれを試しましたが、状況は警告から致命的なエラーにエスカレートしました:
lisp - gensymとmacroletを使用してハッシュテーブルを作成する
read
ing中に(他のアクションの中でも)ハッシュテーブルを作成しようとしています。ハッシュテーブルに(まだ)グローバルスコープを持たせたくないので、マクロとを使用してこれを実行していgensym
ます。マクロ内で、に似x
たマクロを定義していますが、どこかにシンボルを定義する代わりに、ハッシュテーブルのエントリを定義しています。爆破します。エラーメッセージは理解できたと思いますが、どうすれば機能させることができますか?s
setf
コード:
出力:
common-lisp - 10 進浮動小数点パッケージ
2 進 (または binaryoid) 浮動小数点を使用し、結果を 10 進数で表すときの複雑さを理解しています。
しかし、私はその最後の可変桁の不運を避けたいと思っています. この状況では、計算速度は私にとって重要ではありません。
真の 10 進浮動小数点 LISP パッケージは存在しますか?
編集 1 : 理想的には、bignum が整数に対して行うように、このパッケージは任意の精度を許可します。
編集 2、Dennis Jaheruddin の質問に応えて:
[I]最後の桁には関心がなく、数値を同じにしたい場合は、最初の 15 桁程度を観察するだけでよいでしょうか?
私はそれについて考えました。うまくいきません。たとえば、2/3 の場合、666667 のような値が必要です。
ご覧のとおり、最後の桁を使用して切り上げるかどうかを判断することさえできません。64 は 70 ではなく 60 に丸められます。ただし、最後の桁を破棄し、前の桁を使用して残りの数値を丸めることができます。ただし、(a) この時点で多くの精度を破棄し始めており、(b) これにより間違った方法で丸められるケースがないかどうかわからないため、これには不快です。 . できれば任意の精度を持つ 10 進浮動小数点パッケージが理想的です。
編集 3 : Rainer Joswig が以下の回答で指摘しているように、移植性のない潜在的な解決策は、浮動小数点の精度を設定することです。自宅でフォローしている人のために、彼はここで、これが次のように行われていることを指摘しています。(SETF (EXT:LONG-FLOAT-DIGITS) n)
編集 4 : 彼の回答の後のコメントで、Rainer Joswig は代数システム Maxima と Axiom を調べることを推奨しています。そうすることで、次の優れたウィキペディアのリソースにつながります。
- 記事数学ソフトウェア
- 記事コンピューター代数システムの比較
- その記事のSee alsoセクション
- その記事の外部リンクセクション。ほとんどのリンクはソフトウェアのリストを指しています。
編集 5:その後、10 進浮動小数点パッケージは必要ないと判断しましたが、パッケージがあるかどうかについてはまだ興味があります。たぶんないです。
なぜ私はそれを必要としないのですか?答えは、(a) Rainer Joswig の wu-decimal パッケージへのポインターと (b) wvxvw の長い除算への言及の組み合わせです。
wu-decimal には、基数 10 を使用する従来の特性と仮数部はありませんが、数値を比率として格納するという興味深いアイデアが導入されています。したがって、1/3 は 1/3 として格納され、(有限長の) 2 進小数の繰り返しではありません。比率として格納された数値を乗算すると、すぐに非常に長い比率が得られますが、元の精度は最後まで維持されます。そのアイデアを使ってみます。私が必要としないのは、wu-decimal の非常に気の利いた解析と、必要に応じて比率を 10 進数として書き込むことです。そのため、パッケージをインストールしません。このような値の解析と書き込みを簡単にすることに興味がある場合は、パッケージをチェックしてください。(私はそれを使用していません。)
残っているのは、比率を 10 進数として出力することです。このために、wvxvw と同じように長除算を使用します。私のコードは多少異なりますが、長い除算のアイデアについては、彼に感謝します。
common-lisp - GCLでquicklispを使用する方法はありますか?
インストール/(load "/home/inaimathi/quicklisp/setup.lisp")
両方が失敗します。この2011 年の未解決のタスクは、おそらく修正されていないことを示しています。
回避策はありますか?
lisp - Lisp : Mac に gcl をインストールするにはどうすればよいですか
Mac OSX 10.8.4 を使用しています。gcl の git リポジトリのクローンを作成し、readme に従って ./configure.
しかし、次のエラーが表示されます。
3番目のオプションを試しました(他のオプションについては、私は無知で、グーグルしても解決策が得られませんでした)。gcl をインストールする方法や、開発環境の lisp を取得する方法を教えてください。