1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-08 02:40:17 +02:00
guile/module/language
Andy Wingo 8e1d0d507a more work on modules and hygiene, not finished yet, alas.
* module/ice-9/compile-psyntax.scm: No more expansion-eval-closure.

* module/ice-9/expand-support.scm (strip-expansion-structures): Only @@
  names whose module is not the current module. Actually @@ serialization
  is disabled for this commit, just to get this one in and keep things
  working.

* module/ice-9/psyntax-pp.scm: Recompiled.

* module/ice-9/psyntax.scm (put-global-definition-hook)
  (get-global-definition-hook): Instead of going through that stupid
  getprop/putprop interface, let's just inline Guile-specific code here.
  (build-global-reference, build-global-assignment): Fix a bug where the
  module and public? were switched, which happily allowed things to
  compile. (We reintroduce a similar bug above in expand-support.)
  (lookup): Add a module argument.
  (global-extend): Adapt for put-global-definition-hook invocation.
  (syntax-type): Lookup with mod. Return mod even for lexicals and
  define-form -- why not.
  (chi-top, fluid-let-syntax, syntax, set!): Lookup with mod. Wrap with
  mod.

* module/ice-9/syncase.scm (expansion-eval-closure)
  (current-eval-closure, env->eval-closure): OK! So the idea is: module
  hygiene is syncase's business, not ours. So lose the eval-closure
  fluid. Also, eval closures are so 1990s.
  (sc-macro): But, we have to take the module from the env, sadly. In the
  future this will be different.
  Remove the rest of the eval-closure bits. Enable source reporting,
  while we're debugging.

* module/language/scheme/compile-ghil.scm (lookup-transformer): Adapt for
  eval closure fluid changes.
2009-04-17 15:20:17 +02:00
..
assembly compilation passes return third value: the continuation environment 2009-04-16 15:20:40 +02:00
bytecode compilation passes return third value: the continuation environment 2009-04-16 15:20:40 +02:00
ecmascript compilation passes return third value: the continuation environment 2009-04-16 15:20:40 +02:00
elisp remove .cvsignore files 2008-11-10 12:17:18 +01:00
ghil support expression-by-expression compilation 2009-04-16 17:49:59 +02:00
glil compilation passes return third value: the continuation environment 2009-04-16 15:20:40 +02:00
objcode compilation passes return third value: the continuation environment 2009-04-16 15:20:40 +02:00
r5rs remove GPKG.def files 2009-01-29 21:12:00 +01:00
scheme more work on modules and hygiene, not finished yet, alas. 2009-04-17 15:20:17 +02:00
value Aggregate makefiles for module/system' and module/language'. 2009-02-24 23:54:16 +01:00
assembly.scm Add `load-unsigned-integer' instruction. 2009-02-18 00:54:05 +01:00
ghil.scm support expression-by-expression compilation 2009-04-16 17:49:59 +02:00
glil.scm be smarter about allocating local variables, reusing slots if possible 2009-02-21 20:28:29 +01:00
objcode.scm static opcodes; refactor program/objcode division; use new assembly pipeline 2009-01-29 21:12:00 +01:00