nodes: Always rename aliased names, even if not yet shadowed.

Otherwise aliasing can still occur.

Signed-off-by: Corbin Simpson <cds@corbinsimpson.com> <simpsoco@google.com>
load, nodes: Add Noun.fromAST().

Signed-off-by: Corbin Simpson <cds@corbinsimpson.com> <simpsoco@google.com>
env: Make Environments look kind of like frames.

Signed-off-by: Corbin Simpson <cds@corbinsimpson.com> <simpsoco@google.com>
objects/iteration: Move comprehensions into the prelude.

Removes one of the JIT drivers, which is necessary for virtualizable work.

Signed-off-by: Corbin Simpson <cds@corbinsimpson.com> <simpsoco@google.com>
env: Give environments a size on every new frame.

Required for virtualizable frames.

Signed-off-by: Corbin Simpson <cds@corbinsimpson.com> <simpsoco@google.com>
Make frames virtualizable.

Causes a slowdown in the JIT right now, but I'll fix it up soon enough.

Signed-off-by: Corbin Simpson <cds@corbinsimpson.com> <simpsoco@google.com>