
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 GK@NineByNine.org