[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] [SCM] GNU Guile branch, syncase-in-boot-9, created. d6eb
From: |
Andy Wingo |
Subject: |
[Guile-commits] [SCM] GNU Guile branch, syncase-in-boot-9, created. d6ebfd72268878d64c583998ea9d57c0eb22996e |
Date: |
Fri, 24 Apr 2009 12:54:00 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Guile".
The branch, syncase-in-boot-9 has been created
at d6ebfd72268878d64c583998ea9d57c0eb22996e (commit)
- Log -----------------------------------------------------------------
commit d6ebfd72268878d64c583998ea9d57c0eb22996e
Author: Andy Wingo <address@hidden>
Date: Fri Apr 24 13:30:57 2009 +0200
finish transition to bare/hygiene/public/private
* module/ice-9/boot-9.scm (make-module-ref): Remove the transition
support.
* module/ice-9/psyntax.scm (get-global-definition-hook): Remove
transition support. Also remove support for guile-macro.
(build-global-reference, build-global-assignment): Remove transition
support.
* module/ice-9/psyntax-pp.scm: Regenerated.
commit a2716cbe1e9d2b43d1fb1a017cb8b1e97617da3c
Author: Andy Wingo <address@hidden>
Date: Fri Apr 24 13:13:29 2009 +0200
only bend hygiene in macro-introduced output, not for explicit @/@@
* module/ice-9/psyntax.scm
* module/ice-9/psyntax-pp.scm
* module/ice-9/boot-9.scm (make-module-ref): We were so almost there
with what we had, sniff. The deal is that
(begin (load "foo.scm") ((@@ (foo) bar)))
would expand to
(begin (load "foo.scm") (bar))
because bar was unbound at expansion time, and make-module-ref assumed
it was like the else in a cond. But it shouldn't have, because we
/explicitly/ asked for the @@ var -- so now if we see a @ or @@, we
never drop it. @@ introduced by hygiene can be dropped if it doesn't
reference a var, though.
Practically speaking, this means tagging all modules in psyntax with
their intent: public or private (corresponding to @ or @@), hygiene
(introduced by a macro), or bare (when we don't have a module). I'm
not sure when we'd see a bare.
The implementation is complicated by the need to support the old
format and the new format at the same time, so that psyntax-pp can be
regenerated.
commit 384e92b3ae491e2f8495b0d188b384f138a8cc61
Author: Andy Wingo <address@hidden>
Date: Fri Apr 24 12:12:24 2009 +0200
fix @ and syncase
* module/ice-9/boot-9.scm
(make-module-ref): equal?, not eq?, when matching on module name.
(Module names don't have to come from an invocation of module-name in
this process.)
* module/ice-9/psyntax.scm (build-global-reference)
(build-global-assignment, @): Rework the format of the module in syntax
objects so that a car of #f indicates a public reference. Loading (foo
%module-public-interface) didn't guarantee that (foo) was loaded and
useful.
* module/ice-9/psyntax-pp.scm: Regenerated.
* module/language/scheme/compile-ghil.scm (lookup-transformer):
primitive-macro? does not exist any more.
commit 7c72fe0bb5a6ef00c90f6988ce3178a45ed95f26
Author: Andy Wingo <address@hidden>
Date: Thu Apr 23 13:34:23 2009 +0200
ice-9 syncase now deprecated, woo
Remove #:use-module (ice-9 syncase) from lots of places, as it's no
longer needed.
commit 01c161ca11b19d56ce994cba477a8fc4aeb8ac43
Author: Andy Wingo <address@hidden>
Date: Thu Apr 23 13:30:23 2009 +0200
it is alive!!!!! + concision + fix to compile-ghil
* module/ice-9/boot-9.scm: Remove lots of debugging prints. Remove some
already-deprecated attempts to load modules from shared libraries.
* module/ice-9/psyntax.scm: If we have to create a variable for a
syntactic binding, initialize its contents to a gensym. I'd like
something more meaningful, but at least this way we can tell different
macros apart. Only warn about missing modules if modules are booted.
Chi the value part of a (set! (@ ...) ) expression -- whoops!
* module/ice-9/psyntax-pp.scm: Regenerated.
* module/language/glil.scm (parse-glil): Fix an unquoting error.
* module/language/scheme/compile-ghil.scm: No need to import syncase, we
gots it. Rework compiler to expand only once, with syncase, instead of
incrementally. Fix define-scheme-transformer to work with syncase, by
not referencing bare keywords. It works!
commit c5ad45c7b34346f0f7084477479e7367c30a67f6
Author: Andy Wingo <address@hidden>
Date: Thu Apr 23 12:41:03 2009 +0200
allow redefinition of global macros to variables
* module/ice-9/psyntax.scm: Allow the redefinition of keywords to
variables. Otherwise we can't do (define let #f), which is totally
useful and stuff.
* module/ice-9/psyntax-pp.scm: Regenerated.
commit 85e95b47108a84f0829cf17c5dde40f53814186e
Author: Andy Wingo <address@hidden>
Date: Fri Apr 24 14:08:32 2009 +0200
fix load for syncase-in-boot-9; compile-psyntax works again
* module/ice-9/r4rs.scm:
* module/ice-9/boot-9.scm (%load-verbosely, assert-load-verbosity)
(%load-announce, %load-hook, load): Move these from r4rs.scm to
boot-9.scm.
* module/ice-9/compile-psyntax.scm: Update to work with
syncase-in-boot-9.
* module/ice-9/psyntax-pp.scm: Recompiled with syncase-in-boot-9.
commit 64e5d08d3e7076b554f724efede860883f846b5f
Author: Andy Wingo <address@hidden>
Date: Fri Apr 24 14:01:26 2009 +0200
leap of faith: (ice-9 syncase) in psyntax-pp.scm -> (guile)
* module/ice-9/psyntax-pp.scm: Manually switch psyntax-pp over to (guile)
from (ice-9 syncase). Heh heh.
commit 131826039c62bdfd5932272b5d19d4b08cbe4e63
Author: Andy Wingo <address@hidden>
Date: Fri Apr 24 13:54:38 2009 +0200
syncase early in boot-9, defmacros in terms of syntax-case -- halfway
working
* module/ice-9/boot-9.scm
(eval-when): Remove, as syncase is going to handle this one for us.
(sc-expand, sc-expand3, sc-chi, install-global-transformer)
(syntax-dispatch, syntax-error, annotation?, bound-identifier=?)
(datum->syntax-object, free-identifier=?, generate-temporaries)
(identifier?, syntax-object->datum, void, andmap): Oh, ugly of uglies:
add these exciting definitions to the main environment. Hopefully we
can pull them back out soon.
(make-module-ref, resolve-module): Stub these out, as a replacement for
expand-support.
(%pre-modules-transformer): Define to sc-expand, so that we are using
syncase from the very start.
(defmacro, define-macro): Define in terms of syntax-case.
(macroexpand, macroexpand-1): Remove, there should be a different way
to get at this -- though perhaps with the same name.
(make-module): Make sc-expand the default module-transformer.
(process-define-module): Issue a deprecation warning when using ice-9
syncase.
(primitive-macro?): Remove, no meaning...
(use-syntax): Deprecate.
(define-private, define-public, defmacro-public): Rework in terms of
syntax-rules.
* module/ice-9/syncase.scm: Gut, as syncase is provided by core now.
commit a26934a850fba4ee1caf5d44cdbbe95115c91be0
Author: Andy Wingo <address@hidden>
Date: Fri Apr 24 13:50:14 2009 +0200
module-name returns '(guile) during boot; psyntax tweak
* module/ice-9/boot-9.scm (module-name): Return '(guile) before the
module system is booted, for syncase's benefit. Defer redefinition
until the module system is booted.
* module/ice-9/psyntax.scm (put-global-definition-hook): Only set a
variable if it's unbound.
* module/ice-9/psyntax.scm: Regenerated.
commit 757937c290ae64a7a75232793c659d0cca3dea10
Author: Andy Wingo <address@hidden>
Date: Wed Apr 22 23:10:35 2009 +0200
more steps on the way to boot-time syncase
* module/ice-9/boot-9.scm: Define a version of module-add! for psyntax,
before modules are booted.
* module/ice-9/psyntax.scm: Remove a warning, and rename a variable.
Initialize a new variable to 'sc-macro, though it will have no effect.
* module/ice-9/psyntax-pp.scm: Regenerated.
commit 819cf0e8b8f09e769e194781ec57a52f9415763b
Author: Andy Wingo <address@hidden>
Date: Thu Apr 23 11:25:22 2009 +0200
I ain't broke, but brother I'm badly bent
* module/ice-9/expand-support.scm (strip-expansion-structures): If, when
producing @/@@ forms, we find that an @@ variable is not bound in its
module, just serialize the symbol. This bends hygiene, in that it can
introduce a global (but not lexical) reference in the expanded module,
but it seems necessary to not produce (@@ (foo) else) in forms like
((@@ (foo) cond) ((test then) ((@@ (foo) else) bar))).
-----------------------------------------------------------------------
hooks/post-receive
--
GNU Guile
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Guile-commits] [SCM] GNU Guile branch, syncase-in-boot-9, created. d6ebfd72268878d64c583998ea9d57c0eb22996e,
Andy Wingo <=