読者です 読者をやめる 読者になる 読者になる
備忘録とか。

Land Of Lisp 読み進める際のメモとか

 

Land of Lisp

Land of Lisp

 

 

OS:Ubuntu15.10(VirtualBox5.0.14)

Common Lisp実行環境:Slime(Emacs) + SBCL(1.2.14)

 

参考ページとか

LandOfLispのコード:http://landoflisp.com/source.html

有志(?)による正誤表:http://practical-scheme.net/wiliki/wiliki.cgi?Shiro%3ALandOfLisp#H-24hmra7szqwip

GoogleグループのLandOfLisp読者グループ:

https://groups.google.com/forum/#!forum/land-of-lisp

 

思い出したり気が付いたら書き足していく。

p.115

Package EXT does not exist.

extパッケージねーよって。処理系依存の問題の模様。

正誤表にはClozure CLの場合のソースコードのみ記載。

私はSBCLを使用しているので

Land Of Lisp chapter 7 - Using SBCL | Hacker News

の書き込みを真似たら通った。

dot->png use to sbcl.

p.132

make-city-edges

このままコンパイルすると

The variable X is defined but never used.

コンパイラに「x使って無くない?」って指摘されるけど、

x抜くとremove-if-notが引数足りなくて落ちるので必要。

(正誤表にも記載)

 

 p.137

(setf *player-pos* (list *player-pos*))してる箇所。

*player-pos*の変数宣言が抜けている。

(defparameter *player-pos* nil)を最上部辺りに追加。

 

p.262

(serve #'hello-request-handler)でサーバ起動して

Webブラウザからアクセスする箇所。

f:id:KingCrimson96:20160204225700p:plain

こんなん感じに<form>タグや<input>タグがただの文字列として認識されてしまう。

socket周りが処理系によって扱いが大きく異るようで(?)

本書で推奨されているCLISPを使っているものの正常に動かず悩んでいたが、

Land Of Lisp > webserver example (Google Group)に解決策が記載されていた。

p.262

HTTPステータスコードをメッセージの先頭に付加してるっぽい(?)

 

これで正常に動いた。

f:id:KingCrimson96:20160204231745p:plain

 

 

スポンサードリンク