RosettaCodeData/Task/Closures-Value-capture/Acornsoft-Lisp/closures-value-capture-4.lisp
2023-09-16 17:28:03 -07:00

9 lines
268 B
Common Lisp

(defun freeze (_fvars_ _lambda-expr_)
(freeze-vars
(mapc cons _fvars_ (mapc eval _fvars_))
(cadr _lambda-expr_)
(cddr _lambda-expr_)))
(defun freeze-vars (bindings lvars lbody)
(list 'lambda lvars
(list (cons 'lambda (cons bindings lbody)))))