[M3devel] range analysis?
Mika Nystrom
mika at async.caltech.edu
Tue May 24 22:21:50 CEST 2011
"Rodney M. Bates" writes:
...
>
>My first thought was that this argument is no more or less applicable to
>a procedure type containing a formal of empty type than to a record
>type containing a field (which is currently defined as a variable)
>of empty type. Both are just types constructed from other type(s),
>to be maybe instantiated later. In the case of the record, we now
>disallow the type to be constructed. Your proposal would inconsistently
>allow the procedure type to be constructed but complain when an
>attempt is made to instantiate it (i.e., call it) later.
>
>My second thought was that a procedure type with empty-typed formal
>is not an empty type, because it contains the perfectly legitimate
>value NIL, which of course, you can't call anyway, thus avoiding the
>issue of instantiating the formal. This is an essential difference
>that would justify doing it differently for records and procedures.
>
By this logic, shoudln't you also allow such types to be fields
in OBJECT types? What about REF RECORD types?
Mika
More information about the M3devel
mailing list