This is the mail archive of the guile@cygnus.com mailing list for the guile project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
> Could you please explain why this is necessary. Especially why is it > necessary for a module to have more than one environment? A module > can `use' or `open' one or more modules but why does it need more than > one environment??? Mostly to support programming tools. Suppose you're writing a groovy development environment for Scheme. One facility I'd want is the ability to evaluate expressions in a module's private, unexported environment. So that's one environment you care about. Then, the module's exported bindings are clearly another environment. So modules have at least two environments they care about. I also think it's helpful to be able to distinguish local definitions from imported definitions. Allowing the tool author access to these as separate environments seems graceful. It is complex. And you could argue that the tools should be hairy, not the intrinsic data structures themselves. But I think it will be okay.