Ticket #97 (closed task)

Opened 6 years ago

Last modified 6 years ago

refactor implementation of environments

Reported by: dherman Owned by: dherman
Priority: critical Milestone:
Component: dherman/javascript.plt Keywords:
Cc: Version:
Racket Version: 4.0

Description

  • Need a current-lexical-scope? parameter
  • Need a contains-direct-eval? predicate for each function
  • When current-lexical-scope? is false, must use explicit scope chain
  • Features that affect current-lexical-scope?
    • with
    • direct eval
  • Implementation of eval will have to fake its environment
    • PLT won't allow inheriting
    • so implement with current-lexical-scope? set to false
    • this fits with my (admittedly rude and obnoxious) "punish with and eval" implementation philosophy

See also #50, #51, #54.

Change History

Changed 6 years ago by dherman

Also need a notion of a lexical frame, i.e., any form which introduces a new rib in the environment

  • function
  • let statement/expression
  • block containing let declarations

Changed 6 years ago by dherman

  • status changed from new to closed

Done in 7:5.

Note: See TracTickets for help on using tickets.