1 export function new_env(outer
={}, binds
=[], exprs
=[]) {
2 var e
= Object
.setPrototypeOf({}, outer
)
3 // Bind symbols in binds to values in exprs
4 for (var i
=0; i
<binds
.length
; i
++) {
5 if (Symbol
.keyFor(binds
[i
]) === "&") {
6 e
[binds
[i
+1]] = exprs
.slice(i
) // variable length arguments
14 export const env_get
= (env
, sym
) => {
18 throw Error(`'${Symbol.keyFor(sym)}' not found`)
21 export const env_set
= (env
, sym
, val
) => env
[sym
] = val