guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: What's the status of modules and macros?


From: Michael Livshin
Subject: Re: What's the status of modules and macros?
Date: 13 May 2001 20:11:10 +0300
User-agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.4 (Copyleft)

Marius Vollmer <address@hidden> writes:

> I just realized that we don't need to specially tag gloc pointers when
> they point to variables since variables can be identified already on
> their own (while vcells can't).  That would significantly cleanup the
> gloc/struct tag clash magic (which is something that you probably
> don't want to know about) since we can use the gloc tag for structs
> exlcusively then.

you don't even realize how cool that would be!  well, I guess you do. ;)

> > So does this replacement (of a reference with a gloc) happen at
> > run-time (the first time it's hit) or at macro-expansion time (I
> > figure the latter, but just want to make sure I'm developing a decent
> > mental model of the process).
> 
> Right now it would happen at run-time, at the first hit.
> Conceptually, I'd say it should happen at load time, when a body of
> code is massaged into the Guile run-time image.

I think "link time" would describe this pretty well too -- you resolve
references to globally visible entities.

> > > The downside to this fix is that it works only with syntax-case, which
> > > is still only an optional feature of Guile.  Defmacros could use it as
> > > well, but only manually and non-portably, which might well be
> > > acceptable.
> > 
> > Hmm.  It would be nice if we could figure out a strategy that works
> > for macros transparently (without having to re-write any that refer to
> > module local bits), but I don't have any suggestions right now :>
> 
> That would be akin to finding a strategy to making defmacros
> transparently hygienic.  If there would be such a thing, we wouldn't
> have syntax-case et al, I think.

just so I understand: you take a combination of two things that are
unportable by definition (defmacros & modules (well, defmacros are
kind of semi-standard, but still)), and you are worried that the
result will be unportable?  I say there's not a lot to worry about.

-- 
By filing this bug report, you have challenged the honor of my
family. Prepare to die!
                                        -- Klingon Programmer




reply via email to

[Prev in Thread] Current Thread [Next in Thread]