3 ms·
OK ... can you name a few Haskell features that can't be adopted easily in the absence of other features?
by tome 7y ago
OK ... can you name a few Haskell features that can't be adopted easily in the absence of other features?
- AstralStorm 7y agoHow do you functionally manipulate an indexed mutable structure like a vector? How about the common task of CSV file manipulation? Database access? (Simplest of FFI.) Not reopening nor reparsing the file every time you want to do something? At the same time, with known upper bound on memory use? Note how almost none of standard CRUD and web stuff is easy to write in Haskell from scratch and libraries do not help a lot. You always end up in some variant of IO monad, typically multiple incompatible ones at the same time, making the pure functional nature of the language moot. You get to glue the various kinds of IO explicitly. Haskell feels like writing a CPU (high level state machines everywhere), except with less readability and more verbiage than Verilog. The propensity of Haskell programmers to abbreviate everything and add redundant "helper" functions under different names does not help. Programming is stateful because world has a state, and Haskell's handling of state is annoying at every step even for someone versed in it.
- tome 7y agoFirstly, the question was very specifically to coldtea to help flesh out his/her claim that it is "not easy to adopt the extra features piecemeal". So far that claim doesn't seem to have be substantiated. Secondly, are you really saying you believe that Haskell doesn't have all these features? That there aren't good ways of mutating arrays, writing CRUD apps, combining effects, etc.? Presumably then, your jaw would hit the floor if I could demonstrate that everything you believe is false.