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