The reflective tower Lavender
(lavender)
((delta (e r k f) (meaning e r k (lambda (x) (list x x)))) + 40 2)
((delta (e r k f) (meaning e r k default-eval)) + 40 2)
(define a 42)
((delta (e r k f) (meaning (car e) r k r)) 'a)
((delta (e r k f) (meaning e r k k)) + 40 2)
(lavender-exit)
(lavender)
(load "./lib/rpn.lavender")
(common-define del (delta (e r k f) (let ((new-e (cons 'list (rpn e)))) (meaning new-e r k default-eval))))
((delta (e r k f) (begin (f del) (meaning e r k f))) 40 2 5 9 + * -)
(1 2 3 4 + * +)
(lavender (delta (e r k f) (begin (f rpn) (meaning e r k default-eval))) + 40 2)
(list 1 2 3 4 + * +)
(list 1 2 3 4 '+ '* '+)
'(1 2 3 4 + * +)
(lavender common-define del2 (delta (e r k f) (meaning (cons 'list (rpn e)) r k default-eval)))
(lavender (delta (e r k f) (begin (f del2) (meaning e r k default-eval))) + 40 2)
(1 2 3 4 + * +)
(1 2 3 4 + *)
(lavender lavender-exit)
Playground
Happy Happy Joy Joy!