Re:When Rust Makes Sense, or The State of Typed Languages
by skimpycompiler on Monday September 28, 2015 @10:26AM
(#10290599)
Data.Bytestring is still not as fast as it could be.
Just try counting the number of eol characters in the bytestring (or any kind of character). Now do the same with `wc -l`. They did make the library perform well, but there are tiny details that squeeze the most out of your hardware and they seem to be a nuisance to do, even when you're thinking about performance.
Despite that, fusion is beautiful and happens without all of that verboseness that makes the same thing in C++ work.
The high performance part of your Haskell code might not look much like idiomatic Haskell in the end, but you can write abstractions around that. (The holy grail is high performance idiomatic code. If you befriend the compiler just right, it's possible for many problems.)
Text.Bytestring is a good example in Haskell land.