On Mar 18, 2:40 am, "Dmitry A. Kazakov" <mail...@[EMAIL PROTECTED]
>
wrote:
> Your draft does not explain why certain sets of types (called partial
here)
> cannot form a proper class.
No code. No subprogram definitions. Nothing to execute. The name
"partial type" can be taken as an abbreviation for "partial
specification of a type". Pretty much every definition of types that
I've seen, starting with Godel's 1957 _Dialectica_ paper, uses some
kind of algorithm expression to define types. A partial type strips
out algorithm expressions and focuses only on assumptions and results
of operations and on invariants about data.
> My guess is that any set of types can be associated with a class.
Any set of partial types can be associated with a least common
superclass. That's what a lattice is. See
http://en.wikipedia.org/wiki/Lattice_%28order%29.
> Consequently, generic types (not Ada term, but the meaning is obvious)
are
> fully equivalent to cl*****.
Please go find out what Alonzo Church meant by a lambda constructor
(which became Lisp, but is far broader than Lisp). Barring
degeneracies, a generic type has a higher minimal lambda recursion
level than an ordinary type. If you'd rather use a programming
language that treats type recursion as basic, try a functional
language such as Haskell.
Partial types specification are a notion orthogonal to generics.
Eric


|