SigScheme開発録 (5) Happy Hacking @ Good-Day.inc

set!、defineを実装。

(define add
  (lambda (x y) (+ x y)))

(define a 4)
(set! a 3)
(add a a)

6です。

and., orを実装。cond は else の扱いを少し悩む必要が有りそうだ。考えがまとまってから実装するべ。let, let*を実装。まぁ let == let* な実装な訳だけど...

(let ((x 1)
      (y 2)
      (z 3))
  (+ x y z))

6です。ここまでで約3000行。

   29    62   357 CODINGRULE
   12    64   376 KNOWNPROBLEMS
    5    17   124 Makefile
    9    26   118 a.scm
   33    55   952 c_template
  204   470  5237 datas.c
  105   293  3091 debug.c
   45    93  1243 error.c
  499  1278 15245 eval.c
   33    52   859 h_template
  115   225  2560 io.c
   54    76  1172 main.c
  873  2011 19695 operations.c
  322   758  8820 read.c
  192   494  6918 sigscheme.c
  177   543  5705 sigscheme.h
  252   812  8502 sigschemetype.h
 2959  7329 80974 合計