EoPL reading (64) 2.2 An Abstraction for Inductive Data Type
現実トウヒの成果を以下に。
よくよく見たら
- lambda の引数が単発しか指定できん
- app-exp ってリストの要素二つ限定
どうしたものやら、といいつつ今日は EoPL 携帯を忘れてます。勝ち目ナシ。ってか EoPL 読みが足りてない気がしてきました。なんとなくこれ系の記述っぽいソレがあった気がします。とほほほ。
帰宅後
EoPL 確認。正に list-of 使う模様。expression の定義は以下で良いのかな。
(add-load-path ".") (load "define-datatype") (define list-of (lambda (pred) (lambda (val) (or (null? val) (and (pair? val) (pred (car val)) ((list-of pred) (cdr val))))))) (define-datatype expression expression? (lit-exp (datum number?)) (var-exp (id symbol?)) (if-exp (test-exp expression?) (true-exp expression?) (false-exp expression?)) (lambda-exp (ids (list-of symbol?)) (body expression?)) (app-exp (rator expression?) (rands (list-of expression?))))
うーん。違う。試験もパスしない。
今日は超絶不調らしいんで、止めます。