4 ms·
What? Other than strings desperately needing to be purged from the library, what are you talking about? Haskell has some really solid standard libraries, and
by KirinDave 8y ago
What?
Other than strings desperately needing to be purged from the library, what are you talking about?
Haskell has some really solid standard libraries, and it's extended library set has some of the most sophisticated algorithms packages in the world.
- hhmc 8y agoI'm not the commenter you're replying to, but I've often found the Haskell numeric classes (Num, Fractional, Integral etc) prickly. The almost, but don't quite, map to (mathematical) algebraic structures.
- gizmo686 8y agoHaving use Haskell for math programming, I agree with this sentiment. Haskell's standard classes are in an uncanny valley of matching the mathametical structures. If you want to do that sort of thing with Haskell, I would suggest switching to the numeric prelude [0] [0] https://wiki.haskell.org/Numeric_Prelude https://wiki.haskell.org/Numeric_Prelude
- KirinDave 8y agoI'm curious what languages do it better. I'm looking for something new to learn.
- TheCoelacanth 8y agoA big one is lazy I/O[1]. It is really easy to mess up the order that operations happen in when using IO operations from Haskell's standard library. The non-standard library alternatives like conduits or pipes are more complex, but much harder to mess up. [1] https://stackoverflow.com/questions/5892653/whats-so-bad-about-lazy-i-o https://stackoverflow.com/questions/5892653/whats-so-bad-abo...
- KirinDave 8y agoI agree lazy file I/O can be dangerous and needs to vanish, but I'm not sure this counts as an "algorithmic" complaint, which is what I was really curious about. I also don't think you need Conduit or Pipes or any other performance destroying free Monad libraries to deal with it. My hot take: Conduit is in fact awful and radically overused and multiple superior options exist.
- sdegutis 8y agoBy saying "algorithmic," I used the wrong word. Lazy IO is a great example of what I meant.
- KirinDave 8y agoI totally agree the prelude is full of cruft and needs to be scraped and redone fully. But the data structures libraries are all really good and if we could just pull in the succinct and unordered stuff, it's gone some of the best data structures a standard library can ask for.