#TwitterでもつぶやいたのですがHunchentootを使ってみています。
#そこで質問なのですが、HunchentootでインクリメンタルにWebアプリケーションを開発するにはどのようにすれば良いのでしょうか?
#(hunchentoot:start (make-instance 'hunchentoot:acceptor :port 4242))
#してしまうとreplが復帰してこないので、編集しては一旦終了させ、再ロードとやっているのですが、もうすこし良い開発方法があるはずだとおもうので、よろしくおねがいします。
#自分は、slimeのswankを立ち上げておいて、アタッチしたりしていますが、swankを起動するのは、slimeを使うなら結構楽かなと思います。
#もしどっちかしか起動できない場合は、SBCLの場合はマルチスレッド対応でなかったりとか…
#(swank:create-server :port 4005 :dont-close t :coding-system "utf-8-unix")みたいな感じで起動させておいて、という感じですね
#なるほど、ちょっとためしてみます!
#ありゃ、Mac上のsbclではhunchentootをstartさせるとreplがうばわれていたのですがlinuxの方では普通にreplがかえってきますね..
#Macのsbclの問題なんですかね..
#最新版のsbclをコンパイルしてインストールしているのですが
#(find :sb-thread *features*);=> :SB-THREAD
#でないとマルチスレッドじゃないですね。コンパイルしているのなら
#なるほど,たしかにnilがかえってきました。
#コンパイルオプションの設定をしてなかったかもしれないですね。
#grep :sb-thre base-target-features.lisp-exprして、:sb-threadが
#コメントアウトされてないかを確認して、コメントでなくしてからコンパイルするとマルチスレッドなSBCLになると思います
#でも、macosxのSBCLでマルチスレッドってなんか問題があったような、なかったような。知ってる人が教えてくれるかもしれません :)
#ありがとうございます!
#base-target-features.lisp-exprはソースディレクトリの直下にありますー
#やはりコメントアウトされていました
#ちょっと再コンパイルしてみます。
#デフォルトはコメントアウトされてるんですよね。パッケージだと有効にしてビルドしてるディストリビューションが多いみたいなんですが
#slimeにswankとバージョンがちがうけどok?ときかれてしまったのですが
#これは、asdfのディレクトリからアンインストールして
#slimeのディレクトリを参照に追加すれば良いのでしょうか?
#多分、emacsが読んでる、slime.elと、CLが読んでるswankが
#別のところなのかもしれないですね
#もしくは、コアを作っているならば、コアの中のswankが新しいか古いかですね
#そうですね、asdf:*central-registry*にswank.asdを登録すればOKではないかと思います >slimeのディレクトリを参照に追加すれば良いのでしょうか?
#ありがとうございます。
#結局slime内のswank.asdを.sbcl/systems/にリンクしました :)
#そうですね、それでOKだと思います。あとは、同じslimeディレクトリ内のslime.elをemacsが読むようにload-pathかなにかを適切に設定すればOKだと思います
#基本的にバージョンがあってなくても動きはするんですが、微妙に変だったりするんですよねー
#先程はversionが違うといわれたうえprotocolがどうのといってemacsがフリーズしたので解決してよかったです。
#Linuxのノートの方では無事インクリメンタルな開発ができました。あとはMacの方でのsbclのコンパイル完了を待つのみ
#sbclのコンパイルってなにげに時間長いですよね。cmuclよりはマシでしたけど..
#slimeのバージョン問題は自前でビルドする場合の面倒臭いところですねー
#SBCLのコンパイル時間は、ビルドに使うlispの処理系によるんですが、clispとかだと遅いですね
#testしたところ大量のthreadに関するエラーが...
#ためしにMac用に提供されているBinaryを導入してみます
#何かがあったような気がしますねw
#clispだと遅いですよね…なーんもlispが無い状態だとclispを使うのが楽な感じですけど…
#macでsbclを使うのを辞めてしまったのですが…理由を思いだせない…
#Clozure CLとかもSBCL並に速いですね
#なるほど、
#結局バイナリ版でもthreadは提供されていませんでした。
#threadがないとswankで連携するのも不可能なのでしたっけ?
#swankの反応でやること全てになっちゃいますねー
#なるほど
#なにか他のMac上の日本語対応した処理系を利用した方が現実的ですかね
#気がついたらこんな遅い時間に。。もうしわけありません
#hunchentootはMac上ではclozureCLを利用する事にしました。いろいろありがとうございました!!