At 22:48 09/10/03 -0400, Derek Elkins wrote:
As always, the wiki has some remarks about this,
http://www.haskell.org/hawiki/ExistentialTypes.

Thanks for the reminder :-)


Interestingly, when I read this:
[[
However this won't work since the elements of the list can be of SEVERAL different types (like a sphere and a polygon and a mesh etc. etc.) but lists need to have elements of the same type.
]]


I was reminded of very similar issues I encountered in my own development, which for the most part I resolved without using existential types.

Originally, I had contemplated using type classes, so that (w.r.t. the above example) spheres and polygons would be different types that are instances of a common class. That's how we do it with OOP, right? But it falls foul of exactly the point made here -- you can't mix the types in (say) a list.

It never occurred to me that existential types might be the appropriate appoach here.

Instead, I replace the class instances by a single algebraic data type, whose members are functions corresponding to OO-style class methods.

#g
--


------------ Graham Klyne [EMAIL PROTECTED]

_______________________________________________
Haskell-Cafe mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to