Richard Kelsey writes:
> Structures and packages are compile-time values, not run-time
> ones. At compile-time they are first-class; at run-time they
> no longer enter the picture. Scheme 48's module system keeps
> compile time and run time separate. So it isn't that structures
> are second class, they are just segregated by the module system.
A terminological/conceptual question. (A CS dilettante, I would
nonetheless like to rectify my technical vocabulary.)
I understand that your distinction
first-class / compile-time vs. / run-time
relates to the totality of the s48 system with its different
levels or parts including a compiler implemented in Scheme.
When shifting focus from the system to the compiled language (*),
Scheme plus the configuration language, we dump the distinction
between compile-time and run-time values, and entities like
structures start to look so .. so .. secondary! that I really
should like to call them second class. Can I keep on doing so
without betraying my ignorance? (BTW, the s48 manual
Module system > Discussion
uses this parlance, too.)
(*) leaving EVAL aside for that purpose. EVAL is a querulous
old-timer that tends to obstruct the mobility of thought.