6 mapping(string:Val
) data
;
8 void create(Env the_outer
, List|
void binds
, List|
void exprs
)
14 for(int i
= 0; i
< binds.
count(); i
++)
16 if(binds.data
[i
].value
== "&")
18 set(binds.data
[i
+ 1], List(exprs.data
[i..
]));
21 set(binds.data
[i
], exprs.data
[i
]);
26 Val
set(Val key
, Val val
)
28 data
[key.value
] = val
;
34 if(data
[key.value
]) return this_object();
35 if(outer
) return outer.
find(key
);
41 Env found_env
= find(key
);
42 if(!found_env
) throw("'" + key.value
+ "' not found");
43 return found_env.data
[key.value
];