Open s-kybound opened 8 months ago
Note: this problem does not seem to occur in Source Academy:
resolved with #1584
The problem persists, as functions defined using preludes are "forgotten" with each new program execution.
The following program, entered statement by statement in separate cells into the REPL when using js-slang --variant=explicit-control
, returns error "Name map not declared."
map(x => x, list(1, 2, 3));
map;
The following program, entered statement by statement in separate cells into the REPL when using
js-slang --variant=explicit-control
, returns error "Name a not declared."Any reference to a after
const b = 1
returns an error.The same behaviour can be seen with replacing
const b = 1;
with an IIFE such as(x => x)(a);
- after the IIFE, a is not found.I suspect this has to do with the way the current environment is handled (as an array of environments in
context.runtime.environments
).