jijiスケッチ
1000行くらい。quasiquoteの実装半ば。バグだらけ。
JavaScriptの作法が分からないうちに書き始めたから、へんてこ。
といういいわけをしてもしかたがないほど恥ずかしいが、休日に書いてみたものを下記に出してみる。
評価のタイミングを整理できていないので、そこが一番直したいところ。
あまりにもシュールなページなので、時間見つけて適宜修正予定。
http://strobolights.homeip.net/kiki/jijitest
ドキュメントは皆無。まだスケッチだし。
嫁のあいてとかしないといけなく、最後の休日は何もできそうにない。。
quasiquoteがないにも関わらず、define-macro (mac)は一応動くかもしれない。
コメントの読み飛ばしを実装してない。。そういえば。。
biwaSchemeは素晴らしいなぁそれにしても。arc lightとか。
;;;; 試せるコード例 (def x 10) x ;; => 10 (def (fn1 x) (+ x 10)) (fn1 5) ;; => 15 (def (acm1 x) (fn (y) (= x (+ x y)))) (def tmp (acm1 10)) (tmp 10) ;; => 20, 30, 40,,, (mac (myif x y z) (list 'if x y z)) ;; tadano if. (def x (table)) (= (x 'a) "hello") (x 'a) ;; =>"hello" ((($ "#stdin") 'val)) ;; => "((($ "#stdin") 'val))" ((($ "#memo") 'text) "hello jiji") ;; => 書き換え。 ;; メソッド呼び出しの構文はもう少し砂糖にくるみたい。。 (def x (js-new 'Object)) (= (x "hello") "world") (x "hello") ;; => world *1 ;; => 時間
*1:js-eval "Date"