Hello sz,
суббота, 23 декабря 2000 г., you wrote:
s> a List == a Cons | Nil ;
Of course, it is wrong.
It should be:
a List == a [a List] Cons | Nil ;
I decided to put second argument of Cons constructor into square
brackets just because type expression is very similar to quotation.
Expression such as [a List] should be type quotation of type stack
effect type ( -- SomeType), ie, it should not require any prepending
of type parameters. Or, in Haskell terms (from paper Typing Haskell in
Haskell), it should be of kind (*). List type itself has type
stack effect (a -- [a List]), ie, require a parameter to be a perfect
type.
Thank you all for your patience.
Buy!
sz mailto:sz@...