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

Re: [Scheme-reports] 5. Program Structure

Jussi Piitulainen scripsit:

> What syntax definitions? I thought the expansion needs to define a
> constructor, a type predicate, and some accessors and mutators. All
> are ordinary variable definitions.

You're forgetting the type identifier itself, which may expand into
a variable definition or a syntax definition.  The corresponding R6RS
language is that it "is bound by this definition to an expand-time or
run-time representation of the record type".

> There are just two types of definitions: syntax definitions and
> variable definitions. 

My point is that while that is a correct implementation, it is not
the *only* correct implementation, and we are not in the business of
giving a specific implementation.  It's perfectly cromulent to define
`if` in terms of `cond`, as Elisp does.

Here lies the Christian,                        John Cowan
        judge, and poet Peter,                  http://www.ccil.org/~cowan
Who broke the laws of God                       cowan@x
        and man and metre.

Scheme-reports mailing list