COMMON LISP JP > Archives > 2012/10/11

2012/10/11 07:41:29 UTCgee
#
コードをためしたところ(dolist (dir (directory "[SBCL]\\site\\*\\"))
	(pushnew dir asdf:*central-registry* :test #’equal))を実行すると動かなくなります。           僕の場合はC:\ユーザー\binにsbclをインストールしたので(dolist (dir (directory "C:\ユーザー\bin\\site\\*\\"))
	(pushnew dir asdf:*central-registry* :test #’equal))なのですが、間違っている部分はあるでしょうか?
2012/10/11 07:45:48 UTCinuzini-jiro
#
(dolist (dir (directory "C:\\ユーザー\\bin\\site\\*\\"))
  (pushnew dir asdf:*central-registry* :test #'equal))
#
のように、文字列内での\マークは2つ重ねて書きます。
2012/10/11 08:38:57 UTCgee
#
実行できました。でもつぎの(asdf:operate ’asdf:load-op :lispbuilder-sdl)はPackage ASDF does not exist.というエラーが出ました。sbclにはasdfがちゃんと入っているようなのですがなぜこのようなエラーがでるんでしょう?
2012/10/11 08:57:17 UTCshiro
#
(pushnew dir asdf:*central-registry* :test #'equal) これが読めたってことはasdfパッケージは既に読み込まれてるはずなのにそのエラーが出るのは謎ですねえ。
2012/10/11 09:01:46 UTCgee
#
実行できた二つのコードは両方ともnilを返しているのですが、これは読めているということでいいんですよね
2012/10/11 09:26:37 UTCshiro
#
はい。そのエラーはそもそも実行段階ではなく、実行以前にコードを読み取る段階で出るはずなんですよねえ。(asdf:operate ...) でエラーが出る状態で、 'asdf:x とか評価するとどうなりますか。
2012/10/11 09:56:09 UTCgee
#
'asdf:x という文字をそのまま実行すればいいのでしょうか?それで実行したら動かなくなりました。あとsbclを起動するとき WARNING: These Swank interfaces are unimplemented:
 (BACKGROUND-SAVE-IMAGE DISASSEMBLE-FRAME EXEC-IMAGE INTERRUPT-THREAD
  RECEIVE-IF SAVE-IMAGE SLDB-BREAK-AT-START SLDB-BREAK-ON-RETURN SPAWN)がでてるのですがこれはエラーなんでしょうか?
2012/10/11 09:59:24 UTCshiro
#
swankのそれは多分関係ないと思いますが、動かなくなるってとこで、swankとsbclのやりとりに不都合が生じてるのかな。 *inferior-lisp* バッファ ( C-x b *inferior-lisp* RET で切り替わります) に何かエラーが出てたりはしませんか。私はもう落ちますが、何か出てたら書き込んでおいてください。
2012/10/11 10:02:20 UTCgee
#
*inferior-lisp* バッファは空白でした
2012/10/11 10:10:49 UTCllibra
#
それ*inferior-lisp*をタイプミスしてませんか? SLIMEを利用しているときに*inferior-lisp*バッファが空というのは考えにくい状況です。
#
あと、動かなくなるという状況は具体的にはどういう状況なんですか? 例えば、Emacsでキー入力してもきかなくなるとか、他のバッファではキー入力はできるけど、*slime-repl sbcl*では反応がなくなるとか、そういう状況が知りたいです。
2012/10/11 10:18:09 UTCllibra
#
それと、動かなくなったとき、Emacsのモードライン(これはどこか分かりますか?)の(Lisp Autodoc [cl-user sbcl])みたいに表示されている部分のsbclの横に数字は表示されたままになりますか?([cl-user sbcl 1]みたいに)
2012/10/11 10:42:35 UTCllibra
#
WindowsでSBCLを使う場合、スレッドのサポートが無いか、非常に限定的だった覚えがあります。状況を見ていると、何となくその辺りで引っかかっている気がするのですが、 https://github.com/akovalenko/sbcl-win32-threads/wiki にあるWindowsでのスレッドサポートなどを強化したSBCLを試してみてはいかがでしょうか。
2012/10/11 10:56:31 UTCllibra
#
ついでに、大本のPDF( http://www.usamimi.info/~ide/programe/stg_doc/stg-commonlisp.pdf )ではコマンドプロンプトからSBCLを起動しているようなので、同じようにやってみたらどうなるかも確認した方が良いと思います。この手の解説は特定の状況に合わせて書かれるので、状況を変えると上手く行かなかったり工夫が必要だったりすることも多いです。
2012/10/11 14:44:39 UTCyouz
#
windowsでlispbuilder-sdlのサンプルを動かすまでの手順を記事にしてみました。 http://d.hatena.ne.jp/youz/20121011/1349966386
#
”commonlispでSTGをつくりますがなにか?” の解説とは大分方針が違うと思いますが、引っかかりそうな所を極力減らす方向でやってみました。ご参考までに。