OnLisp

11.5 複数の値にわたる反復

p.163のサンプルコード。 (let ((w 0) (x 1) (y 2) (z 3)) (mvpsetq (w x) (values ’a ’b) (y z) (values w x)) (list wxyz)) 原文だと、 (let ((w 0) (x 1) (y 2) (z 3)) (mvpsetq (w x) (values ’a ’b) (y z) (values w x)) (list w x y z)) これは明らか…

7.8マクロのスタイル

p.103の説明。 だから新しいマクロの定義にgoを使うのは、既存のマクロが代わりに使えないときなら、必ずしも悪いことではない。 のgoはgotoの間違いだと思ったけれど、 Thus it is not necessarily bad style to use go in the definition of a new macro, …

5.6部分ツリーでの再帰

id:mzp:20070526:onlispに続いて、再びOn Lispの訳に異議を唱える。p.76のtrecの説明の最後。 以上より、rfind-ifはoddpによって以下のように表現できる: これの原文は、 Now we can also express rfind-if for e.g. oddp as: となっている。e.g.がついてい…

filter

On Lispを読み始めました。で、4章にでてくるfilterの訳について、ちょっと異議がある。 次の関数filterのsomeに対する性質は、remove-if-notのfind-ifに対する性質と似ている。組み込み関数remove-if-notの返り値は、find-ifに関数を渡してリストの一連のcd…