3
;;; This macro evaluates its arguments (arbitrary expressions) in a
4
;;; lexical environment created as a copy of the global environment
5
;;; in which all the predefined primitives are bound.
6
;;; Contributed by Carsten Bormann <cabo@informatik.uni-bremen.de>
8
(define-macro (with-safe-environment . body)
9
(let* ((built-in-environment
10
(car (last-pair (environment->list (the-environment)))))
13
(list (car p) (car p)))
14
built-in-environment)) )
15
`(let ,binding-copy ,@body)))