drkcore

2010/01/20 21:42:18

Write Yourself a Scheme in 48 Hours

Write Yourself a Scheme in 48 Hoursを3章まで読んだ。RWHのParsecの章を読んでたのと、やさしい Lisp の作り方Mooseでトレースしたことがあるので割とすんなりと進んだ。

ProductName Real World Haskell―実戦で学ぶ関数型言語プログラミング
Bryan O'Sullivan,John Goerzen,Don Stewart
オライリージャパン / ¥ 3,990 ()
在庫あり。

Beginning the Evaluatorの章に

apply func args = maybe (Bool False) ($ args) $ lookup func primitives

ってのがあって、僕はちょっと前まで$を()の構文糖衣だと勘違いしてたのでなんか違和感が。

($ [1,2,3]) (map (1+)) :: map (1+) [1,2,3]

は見慣れれば楽なのかもしれないが。

Prelude> (($[1,2,3]).map) (2-)
[1,0,-1]

とかやるとmapがメソッドっぽく見える

Comments