2011-02-02 11 views
2

私はSLIMEとSBCLを持つemacsを持っています。そして、私はemacsがのフォーマットの文字列&のように 'FORMAT'の定義を持っているという問題に固執していますので、REPLでは(フォーマット "hello"のような)評価しようとしているときにエラーが発生します:型引数:stringp、temacsとSBCLの 'FORMAT'関数の衝突(?)

これは、関数の場合はオーバーライドされますか? EmacsにSBCLで定義された関数を使用させるにはどうすればよいですか?

は、それはむしろ簡単な初心者の問題だと思うが、それは「フォーマット」キーワードのためのGoogleには本当に難しいです:)

+5

おそらく、あなたは間違ったREPLにいる。どのようにあなたがそれを試みるという名前のバッファですか? – Svante

+0

私は* ielm *を使用しています。それはおそらくホルヘの答えによればREPLです。 –

答えて

8

Emacs LispにCommon Lispの(SBCLはそれを実装したものです)異なる2 です言語;あなたがEmacs LispからJavaのSystem.out.printlnを呼び出す方法を尋ねていたかのようです。

Emacs Lispは、動作やEmacsの拡張とカスタマイズに使用されます。

Common Lispは汎用プログラミング言語であり、その中にはいくつかの実装があり、そのうちの1つであるSBCLがあります。 EmacsやEmacs Lispとは関係ありません(おそらく歴史的、文化的には例外です)。

SLIMEは、Emacs内のCommon Lispイメージを実行するツールです。最初にM-x slimeで開始する必要があります。 SLIMEを起動した後、*slime-repl sbcl*バッファ内の実行中のCommon Lispイメージ(自分の場合はSBCL)にフォームを送信できます。

*scratch*という名前の別のバッファがあります。Emacs Lispフォームを入力して評価することができます。これはCommon Lispとは何の関係もないことを覚えておいてください。

しかし、Emacs Lispの拡張機能がEmacs Lispに多く追加されていることに注意する必要がありますが、まだEmacs Lispですが、何かを読んだら混乱しないでください。

最初は混乱するかもしれませんが、心配する必要はありません。一時的なものです。

編集:

一方、exteに興味がある場合

幸運:Emacs自身をndingし、カスタマイズするには、次の書籍をお読みください。

+0

そのような冗長な答えをありがとう、ホルヘ!それは問題の私の調査を適切な方法に移動するのに役立ちました:)また、私はCLに多く興味があり、Practical Common Lispでそれを研究しています。ちょうどこの開発環境の問題に固執しました。 –

+1

Common LispとEmacs + SLIMEを同時に学ぶことは時々混乱することがあります。私がCommon Lispを学び始めたとき、私はEmacsを完全に避けました。私がCommon Lispに慣れて初めてEmacsとSLIMEの使い方を調べ始めました。 Common Lispの字下げを適切に処理し、あなたのために括弧を管理し、それからフォームをコピーして実行中のREPLに貼り付ける他のエディタを使うことができます。もう1つの選択肢は、LispWorks IDEのPersonal Editionを使用することです。 http://www.lispworks.com/無料で、すぐに使用できる開発環境を提供します。 –

1

何らかの調査の後、私はSLIMEのinitスクリプトを見つけました。emacs設定ファイルが間違っていました。それで、私が下位のlispを使っている間、それはSBCLではありませんでした。問題を説明するリンクは次のとおりです:slime-devel list。 したがって、設定ファイルの(setq inferior-lisp-program "/some/path/to/sbcl/executable.exe")(setq inferior-lisp-program "sbcl")に変更しました。そして、それは完璧な性質のSBCLに私を得た:)