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

Re: Constructor rationale questions

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

On Tue, 20 Sep 2005, Michael Sperber wrote:

I don't understand how your response fits the document.  You talk
about hiding identifiers, the rationale in the draft is about
something else.

Sorry, I should have been more clear. Perhaps a better counterexample is to be found in SRFI-76 itself:

"If the custom field initialization were omitted, it would still be possible to perform custom initialization by writing a separate constructor procedure, which would wrap a record type's actual constructor. However, this creates the need for an extra procedure name which is not part of the record type's definition. This means that extensions which deal with the record type's definition (such extensions to support keyword arguments, etc.) don't have access to the record type's actual constructor."

I have not read the reference implementations in detail, but presumably they construct the syntactic layer on top of the procedural substrate. Yet the procedural substrate makes no reference to a custom constructor. Doesn't this contradict the last line above by showing that you can build a layer that allows extensions with access to custom constructors from a layer that doesn't store custom constructors?

By the way, I think the two occurrences of "actual" in the above quote were meant to denote different things.