0

私は最近 Lisp に関する古い本を手に取り、emacs を使って Lisp を学ぼうとしています。ielm モードとインタラクティブ モードの両方を使用していますが、キーワードが定義されていないというこの問題に遭遇しました。私は本の例に従っていますが、時々私は

*** eval エラー *** シンボルの関数定義が無効です: -キーワード-

DEFINE、TIMES、DIFFERENCES、ADD1 などのキーワードは機能しません。SQRT、MAX、MINなどの他のキーワードも機能します。

私はemacsの完全な初心者なので、何が悪いのか理解できません。

4

3 に答える 3

3

Lisp には、Common Lisp、Scheme、Emacs Lisp など、いくつかの方言があります。ある方言で使用できる関数、変数、またはキーワードは、別の方言では使用できない場合があります。

レイナーが言ったように、あなたの本の方言はおそらくもう使われていないので、学ぶべきではありません. 最新のものを選んで、書籍を購入するか、オンラインでドキュメントを検索してください。Lisp を初めて使用する場合は、Lisp の主要な方言であり、比較的単純なSchemeから始めることをお勧めします。

最後に: Emacs はエディターです。これを使用して、任意の Lisp 方言でプログラミングできます。現在、Emacs 自体は (主に) Emacs 用に特別に設計された Lisp 方言である Emacs Lisp で書かれています。Emacs を変更またはカスタマイズする場合にのみ、これを知っておくと役立ちます。

于 2012-12-12T10:57:08.090 に答える
1

あなたの本はおそらく非常に古く、もはや使用されていない Lisp 方言を使用しています。

その本の少し新しいバージョンを入手することをお勧めします。

参照: http://people.csail.mit.edu/phw/Books/#AI で古い Common Lisp (80 年代以降) のコードを参照してください。

于 2012-12-12T11:40:45.263 に答える
0

おそらく、議論している本の方が良いでしょうEmacs Lisp(Emacs 自体に同梱されている本C-h i m Emacs Intro RETにアクセスするには、タイプしてください)。

ところで、この本は古そうに見えますが、非標準の Lisp の方言について説明していると思います。代わりに、 Practical Common LispStructure and Interpretation of Computer Programsなどを読むことを検討してください。

于 2012-12-12T13:48:02.613 に答える