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

Re: why generative?

This page is part of the web mail archives of SRFI 99 from before July 7th, 2015. The new archives for SRFI 99 contain all messages, not just those from before July 7th, 2015.

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.