Files
kraken/partial_eval_test.kp
2021-08-10 23:26:22 -04:00

25 lines
1018 B
Plaintext

(with_import "./partial_eval.kp"
(let (
test-case (lambda (code) (let (
_ (println "Code: " code)
partially_evaled (partial_eval code)
_ (println "Partially evaled: " partially_evaled)
stripped (strip partially_evaled)
_ (println "Stripped: " stripped)
fully_evaled (eval stripped)
_ (println "Fully evaled: " fully_evaled)
_ (println)
) fully_evaled))
simple_add (read-string "(+ 1 2)")
vau_with_add (read-string "(vau (x) (+ 1 2))")
vau_with_add_called (read-string "((vau (x) (+ 1 2)) 4)")
vau_with_add_p (read-string "(vau de (x) (+ (eval x de) (+ 1 2)))")
vau_with_add_p_called (read-string "((vau de (x) (+ (eval x de) (+ 1 2))) 4)")
_ (test-case simple_add)
_ (test-case vau_with_add)
_ (test-case vau_with_add_p)
_ (test-case vau_with_add_called)
_ (test-case vau_with_add_p_called)
) nil))