[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Tree-IL Questions
From: |
Andy Wingo |
Subject: |
Re: Tree-IL Questions |
Date: |
Thu, 17 Nov 2011 22:59:12 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux) |
On Thu 17 Nov 2011 18:44, Noah Lavine <address@hidden> writes:
>>> - On a related note, why do most of the Tree-IL record type not appear
>>> in the define-type statement in tree-il.scm line 133, and is that
>>> connected with the borrow-core-vtables macro that I don't understand
>>> at all? :-)
>>
>> Yes.
>
> Then I have a new goal: understand that. :-)
The deal is that macroexpansion produces tree-il. The usual
macroexpander is provided by psyntax. But before psyntax is loaded,
when the first bits of Scheme are seen, there is a boot expander written
in C that produces tree-il, with support for a subset of Scheme. This
is in expand.[ch].
Obviously it can't load scheme in order to get the vtable for <seq>, for
example, so it defines some core subset of tree-il in C.
Then when tree-il loads, it grabs that core subset and re-exports it.
Does that help?
Thre is similar but more limited code in psyntax.scm, right at the top.
Regards,
Andy
--
http://wingolog.org/