4 ms·
This is an excellent point and maybe you gave me a good compact summary of the situation. Perhaps you can tell me if you agree. The kind of work I do tends to
by _dps 11y ago
This is an excellent point and maybe you gave me a good compact summary of the situation. Perhaps you can tell me if you agree.
The kind of work I do tends to involve a small number of low-variability data types, and the ROI on complex logic (w.r.t. computational performance) has to be very high for it to be accepted into a project. We don't shy away from complex logic, but we do have a high hurdle for it to cross before it becomes a net win.
In contrast, Haskell is perhaps best for large numbers of high-variability datatypes where complex logic is inevitable, regardless of performance costs. And it helps precisely by encoding as much of the complex logic (e.g. safety rules) into the variability and expressiveness of the type system.
I guess all that may be obvious, in hindsight. But I think your comment helped me crystallize the distinction. So, thanks :)
- marcosdumay 11y agoThat's what I was trying to say (and much more precise). Yet, I'd look at codygman's answer. It's a library that tries to improve memory locality by using more complex logic, and hides everything under Haskell abstractions so it's easy to use. I'm not currently working on this area, so I can't really tell what it's good for.