
Ubuntu日本語フォーラム

ログインしていません。
Ubuntu 11.04を使用してます.
Common Lispを学ぼうと思い,SLIMEをaptでインストールしました.
~/.emacsには何も書かずにemacsを起動し,M-x slimeとすると
sbclが起動したような画面になるのですが,
http://common-lisp.net/project/slime/doc/html/Installation.html#Installation
を参考にして,
(setq inferior-lisp-program "/usr/bin/clisp")
を~/.emacsに追記して,slimeを起動してもsbclが動いているように見えます.
(clispが起動すると思っていました.)
では,inferior-lisp-programは何のための変数なのでしょうか?
処理系の違いを気にするほどLispが分かるわけではありませんが,
気になるので,教えてください.
オフライン
kenji12321 による投稿:
Ubuntu 11.04を使用してます.
Common Lispを学ぼうと思い,SLIMEをaptでインストールしました.
~/.emacsには何も書かずにemacsを起動し,M-x slimeとすると
sbclが起動したような画面になるのですが,
http://common-lisp.net/project/slime/doc/html/Installation.html#Installation
を参考にして,
(setq inferior-lisp-program "/usr/bin/clisp")
を~/.emacsに追記して,slimeを起動してもsbclが動いているように見えます.
(clispが起動すると思っていました.)
では,inferior-lisp-programは何のための変数なのでしょうか?
処理系の違いを気にするほどLispが分かるわけではありませんが,
気になるので,教えてください.
いや、もしclispもインストールしてるのなら、
(setq inferior-lisp-program "/usr/bin/clisp")
ならclispが起動しています。
kenji12321 による投稿:
sbclが起動したような画面になる
と言うのはどちらを見て仰ってるのでしょうか。SLIMEはLisp処理系の違いを吸収するように作られているので、パッと見では分からないと思います。
インタプリタの上方で、例えば、
SBCL Port: 36458 Pid: 3076
または下に
*slime-repl sbcl*
と出てたら起動しているinferior-lispはSBCL、そうじゃなくって
CLISP Port:48319 Pid:3633
とか
*slime-repl clisp*
と出てたらclispが起動しています。
ただ、SLIMEは元々SBCLがベースに開発されてきたんで、SBCLが入ってる場合、SBCLを優先するようにはなってるみたいですね。
オフライン
パッと見,バッファ名が*slime-repl sbcl*になっていたので,SBCLが起動していると判断しました.
オフライン
kenji12321 による投稿:
パッと見,バッファ名が*slime-repl sbcl*になっていたので,SBCLが起動していると判断しました.
と言う事は、明らかにSBCLが優先されてますね。確かにinferior-lisp-programは処理系指定なんですが、sbclがある場合はsbclが優先されて使われるようです。
気になるようでしたら、同じページのここ
http://common-lisp.net/project/slime/doc/html/Multiple-Lisps.html#Multiple-Lisps
に複数のCL処理系を切り替えるように出来る設定が記述されています。
(setq slime-lisp-implementations
'((cmucl ("cmucl" "-quiet"))
(sbcl ("/opt/sbcl/bin/sbcl") :coding-system utf-8-unix)))
ってヤツですね。これを設定すればM-- M-x slimeでslime起動時にお好きなLisp処理系を選べます。
(最初のM--ってのはAltキーを押しながらマイナスを押す、って意味です。)
オフライン