(with_import "./partial_eval.kp" (let ( test-case (lambda (code) (let ( _ (println "Code: " code) [comb_to_mark_map 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))