[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