Thu Mar 13 09:07:52 EDT 2008


why is this so confusing? what i try to do is symbol capture. or not?
2nd question first. let's look at how structures are implemented: they
create new names. maybe 'syntax-introduce' is necessary?

i clearly have to stop tackling this in a half-assed way. what's going
on here seems to be me being confused about the actual inner workings
of the module system, syntactic forms and namespaces. it's at the very
core of the language, nothing to try to random-walk around.. time for
some discipline.

revised questions:
  * how to export a name generated by a macro?
  * is my approach (snarfing names from modules) 'the right one'?

roadmap: read about core syntax and hygiene.
2.3 Expansion (Parsing) -> very useful ;)

the #%app error usually means that an identifier is not syntax, but a
function application. if phase 1 doesn't have a language instantiated
(which defines #%app) this is an error. the #%top error probably means
that an identifier is not defined. in modules, the #%top identifier is
not defined?

3.3 #%top can be used to override lexical bindings -> "Such references
are disallowed anywhere within a module form"

evaluating undefined abc as (#%top . abc) in toplevel gives:
  reference to undefined identifier: abc

in module level:
  reference to an identifier before its definition: abc in module: "/tmp/test.ss"