お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2011-06-08 11:23:26

kenji12321
新しいメンバ
登録日: 2011-06-08

SLIMEのinferior-lisp-programとは?

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が分かるわけではありませんが,
気になるので,教えてください.

オフライン

 

#2 2011-06-08 16:01:47

Cametan
メンバ
登録日: 2007-08-12

Re: SLIMEのinferior-lisp-programとは?

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を優先するようにはなってるみたいですね。

オフライン

 

#3 2011-06-08 21:14:13

kenji12321
新しいメンバ
登録日: 2011-06-08

Re: SLIMEのinferior-lisp-programとは?

パッと見,バッファ名が*slime-repl sbcl*になっていたので,SBCLが起動していると判断しました.

オフライン

 

#4 2011-06-09 00:40:38

Cametan
メンバ
登録日: 2007-08-12

Re: SLIMEのinferior-lisp-programとは?

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キーを押しながらマイナスを押す、って意味です。)

オフライン

 

#5 2011-06-09 02:32:42

kenji12321
新しいメンバ
登録日: 2011-06-08

Re: SLIMEのinferior-lisp-programとは?

丁寧な説明,ありがとうございました.

オフライン

 

Board footer

Powered by FluxBB