4 ms·
> it turns out to be virtually useless That's debatable, however Data.Dynamic is built on top of Data.Typeable, which provides a lower level runtime type safet
by brandonbloom 13y ago
> it turns out to be virtually useless
That's debatable, however Data.Dynamic is built on top of Data.Typeable, which provides a lower level runtime type safety facility. I think we can both agree Typable has lots of interesting uses.
- tel 13y agoTypeable is interesting in theory and generic traversals are a godsend, but usually I find that when I'm reaching for that particular hammer I should check twice.
- brandonbloom 13y agoI'll agree it's best to avoid fully open unions when you can, but some (super useful) things truly don't work that way. Check out http://okmij.org/ftp/Computation/monads.html#ExtensibleDS http://okmij.org/ftp/Computation/monads.html#ExtensibleDS for a cool example.
- tel 13y agoI always think of Control.Exception as the poster child for open unions.
- brandonbloom 13y agoPerfect, since exceptions are a subset of effects! Check out http://math.andrej.com/eff/ http://math.andrej.com/eff/ and its literature.