I'm reading a section of a textbook on interpreters and evaluation and I can't seem to find a distinct difference between the definition of an environment and that of a frame.
The textbook seems to differentiate between the two (although they are used in seemingly the same way, at times), however, so I'm wondering what the difference may be.
there. Here is the documentation from the UCB CS61A, hope this may help you.
An frame is a box that contains bindings from variables to values. An frame can “extend” another frame; that is, this frame can see all bindings of the frame it extends. We represent this by drawing an arrow from an environment frame to the frame it is extending. The global environment is the only environment that extends nothing.
An environment is a series of frames, which we get from extending the current frame. To determine which frames are in an environment, follow the arrows until reaching the global environment. Every frame you passed through is part of that environment. The global environment is only made up of the global frame, because its frame extends nothing.
Here is the link: https://web.archive.org/web/20230130190958/https://inst.eecs.berkeley.edu/~cs61a/sp12/discussion/week2/week2_notes_sol.pdf