guile-devel
[Top][All Lists]
Advanced

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

Macro uexpansion


From: Mikael Djurfeldt
Subject: Macro uexpansion
Date: 19 Dec 2000 18:14:03 +0100
User-agent: Gnus/5.0807 (Gnus v5.8.7) Emacs/20.7

Mikael Djurfeldt <address@hidden> writes:

> 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.

Actually, a particular, totally frustrating, afternoon when I was
supervising a computer exercise in a course about programming
paradigms comes to mind.

The students were adding to and working with an object system written
in Scheme, and again and again, we had to reload the entire system
because all macro uses were not a function of the current set of macro
definitions but of the definitions at the various times when every
particular definition in the code was last evaluated.

Quite angry I thought: "This is a BAD development environment."
It kind of only went half of the way: Yes, it was interactive, but as
soon as you've worked on a few definitions, your system is in a
totally inconsistent state.

Macro unexpansion seems to amend this a bit.  For example, the
behaviour of a function FOO using a macro BAR won't anylonger be a
function of when or if the definition of FOO has been evaluated, but
solely depend on the current definition of BAR.



reply via email to

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