問題タブ [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.
emacs - Slime で Lisp モードを使用して、最後の括弧を閉じて自分の関数を REPL に送信することができません
これは非常に簡単な質問です。Emacs 22.2.1 (Ubuntu (9.04) リポジトリから) をインストールし、ホームページのリポジトリから Slime-current をダウンロードしました。
スライムに付属の指示に従ったところ、うまくいきました。スライムを起動して、期待どおりに使用できます。
しかし、lisp-mode (Mx lisp-mode) に入ると、REPL を操作できなくなります。Enter キーを押すと、カーソルが次の行に移動するだけです。
誰でもこれを修正できますか?
編集:
私がEmacsをどのように使用しているかという質問について。はい、Emacs を起動し、Mx slime でスライムに入ります。次にMx lisp-modeでlispモードに入ると、適切なシンタックスハイライトが得られると読みました。
構文の強調表示は提供されていましたが、以下で指摘されているように、これはテキスト ファイルの編集用であり、REPL との対話用ではありません。
また、最近、.emacs ファイルに次を配置すると、構文の強調表示が有効になることを読みました (機能しませんでした)。
だから私は私の質問を修正する必要があると思います。Lisp-mode は単に Slime の Lisp 機能を有効にするためのものではないので、Slime で構文の強調表示を有効にするにはどうすればよいでしょうか?
編集2:
答えはコメントで提供されました。
スライムを起動し、作業する新しいファイルを開く/作成します。これは、lisp-mode が使用される予定のバッファーです。
関数が書き込まれ、強調表示され、REPL に送信されます。出力は下部に表示されます。
両者は統合するのではなく、協力することになっています。
tree - CommonLispで木を描く
この質問にはおそらく恥ずかしいほど単純な答えがありますが、Common Lispでツリーをフォーマット/描画する正しい方法はありますか?私は数冊の本を試したり、グーグルで調べたりしましたが、問題は検索用語の亀裂の間にあるようです。
前もって感謝します!
lisp - Allegro Webactions が SBCL で機能しない。デバッグ方法または可能な解決策は?
Portable Allegro Serve と Webactions を SBCL で起動して実行しようとしています。これまでのところ、paserve で適切にページを提供することができました。しかし、コンソールに次の警告が表示され、webactions がチャンクアウトします。
なぜこれが起こっているのかについてのアイデアはありますか? または、何が起こっているのかを調査/調査するためにこれに侵入する方法についてのアイデアはありますか?
ソフトウェアのバージョン: debian 2.6.26 で動作する SBCL 1.0.28、PAServe 1.2.47。
macros - OnLispからSchemeでマクロを学ぶ
私は本当にSchemeマクロを学びたいです。「OnLisp」の内容を一瞥したところ、多くの章がLispマクロに専念してきました。しかし、私は一般的なlispを知りません。これを使用してSchemeマクロを学習できますか?
lisp - Lispスタイル:setqとsetf
Peter Norvigは、50ページの「人工知能プログラミングのパラダイム」で、特異性と一貫性の間のトレードオフと、setqまたはsetfを使用して変数を値に更新することを選択した場合について言及しています。おすすめは何ですか?読みやすさをはるかに超えて重要な状況に遭遇したことがありますか?
variables - Common Lisp と Scheme における関数と変数の名前空間の分離
スキームは、変数が関数または他のタイプの値にバインドされているかどうかに関係なく、すべての変数に対して単一の名前空間を使用します。Common Lisp では、識別子 "hello" が 1 つのコンテキストでは関数を参照し、別のコンテキストでは文字列を参照するように、2 つを分離します。
(注1:この質問には上記の例が必要です。自由に編集して追加するか、元の作成者に電子メールで送信してください。そうします。)
ただし、関数をパラメーターとして他の関数に渡すなどの一部のコンテキストでは、プログラマーは、次のように を使用して、関数以外の変数ではなく関数変数を指定していることを明示的に区別する必要があります#'
。
私はいつもこれを少しいぼだと考えてきましたが、最近、これは実際には機能であるという議論に出くわしました:
...重要な違いは、実際にはオブジェクトの型ではなく、フォームの構文にあります。関連するランタイム値について何も知らなくても、関数形式の最初の要素が関数でなければならないことは明らかです。CL はこの事実を取り入れて、静的に決定できる (そして決定しなければならない) マクロおよび特殊なフォームと共に、言語の一部にします。だから私の質問は、関数名の主な用途が、変数名がめったに現れたくない場所に現れることであるのに、なぜ関数の名前と変数の名前を同じ名前空間に入れたいのですか?
クラス名の場合を考えてみましょう: FOO という名前のクラスが FOO という名前の変数の使用を禁止する必要があるのはなぜですか? FOO という名前でクラスを参照するのは、クラス名が必要なコンテキストだけです。まれに、クラス名 FOO にバインドされているクラス オブジェクトを取得する必要がある場合は、FIND-CLASS があります。
この議論は、経験から私にはある程度理にかなっています。フィールドにアクセスするために使用される関数でもあるフィールド名を持つ Haskell で同様のケースがあります。これは少し厄介です:
NamedFieldPuns
これは、拡張機能によって特に優れた、少し余分な構文によって解決されます。
では、一貫性を超えた質問に対して、Common Lisp と Scheme の両方で、また一般的に、すべての値に対して単一の名前空間を使用する場合と、関数と関数以外の値を個別に使用する場合の利点と欠点は何ですか?
command-line - Common Lisp でコマンド ライン引数を取得する
Common Lisp (違いがある場合は特に GNU) でコマンドライン引数を取得するにはどうすればよいですか?
common-lisp - Web アプリを Hunchentoot に接続する方法
hunchentoot Web サーバーを必要とする Web アプリを作成しています。私は hunchentoot や Web サーバーに関する実用的な知識がほとんどなく、Common Lisp で記述された私のアプリがどのように Web クライアントにページを提供するのか疑問に思っています。私はいくつかの優れた例を見てきました (例: Hunchentoot Primer、Web 用 Lisp) esp. Hunchentoot のページにリストされているもの。そのような例をもっと見つけることができる場所を知っていますか? ありがとう。
open-source - ミニ言語の (c)lisp 例、つまり DSL を探す
よく書かれたコードを読むことは、言語の学習に役立つようです。(少なくともCでは機能しました。)[質問の「指定されすぎた」部分を削除]
私は特に、問題に特化したミニ言語または DSL を作成するのに適した言語としての Lisp の評判に関心があります。もちろん、このプログラムはオープンソースで、できればウェブ上で利用できるようにする必要があります。
私はグーグルでこの例を見つけました:
http://lispm.dyndns.org/news?ID=NEWS-2005-07-08-1
他に持ってる人いる?(そして、はい、「Practical Common Lisp」を読み続けます。)
11 時間後 (たった 11 時間!): 皆さん、ありがとうございました。なんと素晴らしいサイトで、何と多くの優れた回答とヒントがあることでしょう。
lisp - lispライブラリの良い情報源ですか?
lisp用のPEAR種類のライブラリはありますか?あるといいのですが、lispの欠点の1つは、深刻なライブラリがないことだとどこかで読みました。lispは今半世紀前なので信じられない。