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

Re: [Scheme-reports] Questions about cond-expand

Alex Shinn scripsit:

> cond-expand and include(-ci) are in (scheme base) for import by libraries,
> where no bindings are available by default.

In libraries, all library declarations work by default, though what counts
as an expression or definition depends on the libraries that have been
imported.  Import, include(-ci), and cond-expand are neither variables nor
syntax keywords, so importing them is useless, as they have no definition.

> Only the program/repl top-level has these bindings without needing to
> import them.

In those situations they are still interpreted as program parts,
thus only at the top level.

> Naturally only the library declaration form of cond-expand can expand
> into import and other library declarations.

I assume you mean export here; both the library and the program-part
versions can expand into imports.

> import is in (scheme base) so you have some way to get to it
> if you hose your repl by binding it to something else, although
> you'd need some roundabout tricks with eval to do this.

In (scheme base) as what?  Not a variable, not a syntax keyword.

> And yes, the language in the upcoming draft is not as
> clear as it could be, I'll review it.

Please do.  "The situation is clearly very confused."

How comes city and country to be filled with drones         John Cowan
and rogues, our highways with hackers, and all          cowan@x
places with sloth and wickedness?           http://www.ccil.org/~cowan
                --W. Blith, Eng. Improver Improved, 1652

Scheme-reports mailing list