2012-01-01から1ヶ月間の記事一覧
consを使ってリストを構築、あるいは再構築する方法を習います。 ノート: rember 古いラットの中にあるそのアトムの最初のものを除いた新しいラットを作ります。 さりげなく書いてあるが、元のリストは破壊しない事を示唆。 その意味ではREMove memBERと言…
リストを処理する関数を定義する方法を習います。初めて定義する関数からいきなり再帰が登場します。 ノート lat? latについて特に説明は無いが、List of ATomsの事で、述語関数lat?の定義から「要素としてリストを含まないアトムだけからなるリスト」らしい…
実際の実装を考えるとどうなっているのかやや不思議な空リスト、空リストかどうかを判定する述語null?、それから二つのアトムが等しいかを判定する述語eq?を習います。Schemeの仕様書を見ると分かりますが、実際には何を以て同じと判断するかはなかなか難し…
リスト操作の基本関数を習います。 ノート: car リテラルに直接関数を適用しても良いのだが、何故か本文にはlと言う変数を使って表現されているので、この本では紹介されていないが*1letを使って変数に代入してからcarを適用して本の表記に近い形にして評価…
最初に『Scheme手習い』について書くぞーと、ブログにしてから1ヶ月が経ってしまいました。その間にそれまでに付けていたノートを纏めて、言葉使いとか表現方法とかがバラバラなのが気になって色々直したり、そうこうしているうちに続編の方の『Scheme修行…