Hi folks,

Here's a small patch that puts `module-environment' into the eval
module. I propose this as an alternative to making `eval/meta` a public
API, which it feels like we were mostly doing just to make
"chicken.eval" export more than one thing. I think putting
`module-environment' there instead is nice for a few reasons:

  - It avoids expanding our public API with something that seemingly
    isn't very useful.
  - It nicely mirrors R7RS's library organisation, where (scheme eval)
    provides just `eval` and `environment`. Similarly, (chicken eval)
    would provide just our extensions to those things, `eval-handler`
    and `module-environment`.
  - It keeps "chicken.module" (which is the other logical place for it)
    a syntax-only library, containing *just* the macros that comprise
    CHICKEN's "module language" and nothing else.

Let me know what you think. The patch is pretty simple, with the main
implementation staying in modules.scm (where the module-related
procedures it needs are defined) but the public version moved to
eval.scm.

Cheers,

Evan

_______________________________________________
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-hackers

Reply via email to