[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: new-model.text, please comment
From: |
Neil Jerram |
Subject: |
Re: new-model.text, please comment |
Date: |
13 Sep 2002 19:53:05 +0100 |
User-agent: |
Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7 |
>>>>> "Marius" == Marius Vollmer <address@hidden> writes:
Marius> guile/workbook/compilation/new-model.text
Marius> Please have a look and comment on it.
Here are my few thoughts. I don't have much experience or expertise
in this area, so feel free to explain the obvious to me if that's what
I've asked for :-)
Marius> The output of the compiler is not specified. Also,
Marius> execution of languages other than Scheme is not
Marius> considered. It is assumed that additional languages are
Marius> first translated to Scheme (or whatever variant of Scheme
Marius> we offer) and then compiled normally."
High level thought -- is all of this new thinking necessary? Are we
unnecessarily ignoring useful stuff that has already been worked
through on other projects?
Marius> A module contains a set of bindings, and a binding is a
Marius> pair consisting of a symbol and another object. The other
Marius> object in a binding can be a macro transformer or a
Marius> variable.
Marius> When a module is created, the set of bindings is empty.
Marius> You can add bindings to the set, but you can not remove
Marius> them. Existing bindings can not be changed. There can be
Marius> at most one binding with a given symbol.
So it is impossible to change an existing macro definition?
Marius> During compilation of a file that defines a module, that
Marius> module is partially constructed (via code executed by
Marius> eval-case). The constructed module is made the current
Marius> module, but it is not registered in the system. Requests
Marius> for a module with the name of the module-being-compiled
Marius> will not find the partially constructed module. When the
Marius> compiler wants to follow a :module-ref statement with an
Marius> explicit name, it must check whether that name refers to
Marius> the partially constructed current module.
Don't understand the point here. What are you trying to say by "will
not find the partially constructed module"?
Regards,
Neil