Hello Arie,

Wednesday, August 23, 2006, 2:54:54 AM, you wrote:

>> With the proper interpretation, type synonyms like
>> type ABlockStream = BlockStream b => b
>> type AMemoryStream = MemoryStream m => m

> How does your proposal compare to introducing existential types proper? As in

>   type ABlockStream = exists b. BlockStream b => b

existential variables pack dictionary inside the data item (object)
itself, like in the OOP languages. so this the _semantic_ change.
Brandon's idea is just _syntax_ sugar, one of the possible ways to
simplify writing of signatures for regular Haskell polymorphic
functions, what pass dictionaries apart of objects

read the http://haskell.org/haskellwiki/OOP_vs_type_classes
and look for "existential" there


-- 
Best regards,
 Bulat                            mailto:[EMAIL PROTECTED]

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to