3 ms·
I can certainly see how that would bring frustrations, especially if you come from a dynamically-typed language (heck, even if you start out in Haskell it'll an
by Tehnix 9y ago
I can certainly see how that would bring frustrations, especially if you come from a dynamically-typed language (heck, even if you start out in Haskell it'll annoy you). It's worth noting though, that row polymorphism/structural typing also exist in Elm and PureScript, and there are some libraries in Haskell[0] that attempt to solve it using various approaches (admittedly not as nice as first-class support).
I guess my larger problem is that he uses it as an argument static types, whereas it's a solved problem in several existing type systems that has implemented row polymorphism.
[0] https://www.reddit.com/r/haskell/comments/5p307s/row_polymorphism_or_something_similar/ https://www.reddit.com/r/haskell/comments/5p307s/row_polymor...
- rtpg 9y agoI've worked with Purescript and agree it helps solve it, though I am willing to cut some slack to Hickley to not being super aware of row polymorphism. It's been an academic thing for a while, but only fairly recently has it been a thing in even very small languages with use like Elm. I also feel like a lot of these tools still have some difficulties. There's some conflicts where you can't declare typeclasses on pure Object records in purescript (instead having to go through a wrapper class). Still agree that forward progress is happening and interesting