無名関数サポート

http://github.com/mzp/scheme-abc/commit/9e468c756dda1a20290686743f77408f187432b1

とうとう関数が使えるようになった。

$ cat example/lambda.scm
(let ((f (lambda () (print 42))))
  (f))
$ ocamlbuild main.byte -- example/lambda.scm
Finished, 53 targets (53 cached) in 00:00:01.
$ avmplus a.abc
42

まだ、defineもサポートしてないし、引数や返り値をサポートしてない。でも、ちゃんと関数になってる。やった。

関数を実現するために内部構造を結構変えた。バックパッチみたいなことやりたいときは、どうするのが一番キレイなんだろう。