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