Re: why generative? Andre van Tonder 03 Sep 2009 18:49 UTC

On Thu, 3 Sep 2009, William D Clinger wrote:

>> I do see it a big disadvantage that R6RS-style nongenerative
>> uid implies a separate global namespace *semantically*.
>> We've been very careful introducing separate namespaces, and
>> I don't feel like this uid namespace is justified well.
>> Making rtd "functional" is one way to eliminate this separate
>> global namespace.
> One standard justification for using generative or nominal
> equality as the default instead of structural equality comes
> from records whose fields have implicit units.

I'm not sure I understand the association generative = nominal.  The simplest
nominal system I can imagine would not be generative, since I would make type
equality be based on the name of the record type
(which is currently there but not used for anything except introspection,
for which use it is at best misleading since it does not currently identify a
record type uniquely), and record type equality
would be based on a single symbolic name comparison.  Duplicate names
would be forbidden, and such a system would in fact be nongenerative.  You
could still make a
many record types as you want by using gensyms for rtd names, thus simulating
anything you can do with a generative system.