問題タブ [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.
lisp - Common Lisp でのテキストのセンタリング
印刷したい文字列があります。印刷時にセンタリングは可能ですか?
lisp - s式からラムダを作成する
CommonLispの変数にS式をバインドしています。
ここで、呼び出されたときに、それが定義されたスコープ内の式を評価する関数を作成したいと思います。私はこれを試しました:
と
しかし、これらは両方とも問題を引き起こします。EVALはトップレベルでコードを評価するため、式に含まれる変数をキャプチャできません。LETフォームをEVALに入れることができないことに注意してください。解決策はありますか?
編集:それで、EVAL問題の解決策がない場合、他にどのようにそれを行うことができますか?
編集:私が何をしようとしているのかについて質問がありました。私はコンパイラを書いています。式が定義されている字句環境で変数が閉じられたs式を受け入れたい。確かにそれをマクロとして書く方が良いかもしれません。
emacs - ベストコモンLispIDE
Common Lisp(またはOS XのAquamacs)の主要な開発環境としてEmacs内でSlimeを使用しましたが、他に説得力のある選択肢はありますか?Lispworksについて聞いたことがありますが、それは一見の価値がありますか?または、Emacsを最大限に活用するためのヒントがありますか(たとえば、簡単に参照できるようにハイパースペックに接続するなど)?
更新:Pascal CostanzaのLispに関する非常に意見の多いガイドのセクション7は、1つの視点を示しています。しかし、私には、SLIMEは実際にそれがどこにあるように見えます。
その他のリソース:
lisp - SBCL によるクロスコンパイル
Ubuntu マシンで SBCL を実行しています。Windows だけを実行している友人に贈りたい小さなプログラムを書きたいと思っています。私のマシンで「スタンドアロン」Windows プログラム (つまり、通常のランタイム + コアの組み合わせ) にクロスコンパイルする最も簡単な方法は何ですか?
lisp - Lispで再帰関数をメモ化するにはどうすればよいですか?
私はLisp初心者です。Collatz列の項数を計算するための再帰関数をメモしようとしています ( Project Eulerの問題 14 用)。私のコードはまだです:
memoize 関数は、 On Lispブックで提供されているものと同じです。
このコードは、メモ化されていないバージョンと比較して実際にはスピードアップしません。これは、関数のメモ化されていないバージョンを呼び出す再帰呼び出しが原因であると考えられますが、これは一種の目的を無効にします。その場合、ここでメモ化を行う正しい方法は何ですか? 元の関数へのすべての呼び出しでメモ化されたバージョン自体を呼び出して、特別な m-collatz-steps シンボルの必要性をなくす方法はありますか?
編集:コードを修正しました
これは私のコードにあったものです。編集の前に、私が誤って入れたもの:
そのエラーを見て別のアイデアが浮かび、この最後の defvar 自体を使用して、再帰呼び出しを次のように変更してみました
これはメモ化 (約 60 秒から 1.5 秒への高速化) を実行しているように見えますが、元の関数を変更する必要があります。元の機能を変更する必要のない、よりクリーンなソリューションはありますか?
lisp - Common Lisp プロジェクト用の ASDF ファイルを自動的に作成する
これを行うライブラリはありますか?Common Lisp をいじってみると、これは初心者の参入障壁を下げるのに最も役立つものの 1 つに思えます。ASDF は、ラピッド プロトタイピングや開発用ではなく、主に展開用に設計されているようです。comp.lang.lisp のスレッドをたどると、CL のパッケージ システムは強力であるが、Python の単純なモジュール システムのような使いやすさに欠けていることに人々は同意しているようです。使いやすさではなくパワーのために設計されているという意味で、FAIL です。
私が間違っているかどうかを知ってうれしいです。私が正しければ、ASDF の上に Python モジュールのようなシステムを構築しようとした人が誰もいないことに驚いています。
lisp - ユーザーが書いているものと関数が出力するものをLtkに表示させるにはどうすればよいですか?
関数の種類は次のようなものです。
Ltk のドキュメントを読みましたが、テキスト ウィジェットの使用例はないようです。
macros - Common Lispの初心者:パッケージをその場で定義するためのマクロの質問
マクロに関してベストプラクティスが何であるかを理解するのにまだ苦労しています。その場でパッケージを定義するマクロを書き込もうとしています。
これは、次のような式でのみ正常に機能します。
しかし、このようなものでは惨めに失敗します:
また
私はほとんどの基本的なマクロがどのように機能するかを理解していますが、これを実装する方法は私を免れます。
eclipse - Cusp Eclipse プラグインでの「Package LISP-UNIT is not loaded」エラー
Cusp プラグインを使用すると、Eclipse で次のエラーが発生します。
パッケージ LISP-UNIT がロードされていません
どうすれば修正できますか?
database - Common Lisp における関数の永続性
関数の永続性を可能にする、Elephant などの Common Lisp 用の永続化ソリューションはありますか? 現在、私のアプリは識別子をデータベースに保存し、後で関数テーブルを検索しますが、この方法では動的に作成された関数を保存できません。