guile-devel
[Top][All Lists]
Advanced

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

Re: New module system


From: Mikael Djurfeldt
Subject: Re: New module system
Date: 19 Dec 2000 18:00:23 +0100
User-agent: Gnus/5.0807 (Gnus v5.8.7) Emacs/20.7

Jim Blandy <address@hidden> writes:

> Mikael Djurfeldt <address@hidden> writes:
> > Actually, one possibility is to use the unmemoization protocol: Just
> > as we previously planned to unmemoize glocs and ilocs, we can
> > "unexpand" macros...
> 
> What if the macro has expanded to a bunch of top-level definitions
> which have been evaluated?

Answer: The macro call would be unexpanded.

I think the problem you worry about in your question is equivalent to:

What if we have evaluated a bunch of top-level definitions and we
later change them?

In both cases, the change to the top-level definitions doesn't imply
re-evaluation.  re-evaluation is done under explicit control from the
user.

> I think it's terribly important to maintain consistency --- that the
> state of the system after you've done a series of arbitrary module
> changes and reloads is the same as if you'd loaded the whole shebang
> afresh.  Otherwise we're just planting time bombs.

Well spoken.  :)

> The system we choose should have some simple and robust way of
> guaranteeing the consistency of the system.

Now, I've not turned into the Knight of the Macro Call Unexpansion
Crusade yet, but right now, the suggestion to add macro calls to the
unmemoization protocol seems to increase consistency in the system in
the sense that as soon as you have re-evaluated a macro definition,
all uses of that macro elsewhere will have a behaviour consistent with
the new definition.

(I won't have time to think about this for real until on the plane
back to Sweden on Wednesday.)



reply via email to

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