This post was inspired by a curious
question on
Twitter: is curry
or uncurry
more common in Haskell code?
As you may know, I have been working on polyglot for some time now. It is now the second-most popular ATS project on github0 and it has reached a state of relative maturity.
As a follow-up to my post on computing the Levenshtein distance in ATS, I figured I'd write up some of the actual benchmark results, as well as some of the subtleties involved in benchmarking various ecosystems.
As ATS remains a somewhat obscure language, I figured I'd write up a recent success and give some commentary on some advanced features of ATS.
Though it does not often get mentioned in the Haskell community, simply
bumping to a new version of GHC can drastically improve the performance of your
code. Here, I have several examples from my
fast-arithmetic
package, which will hopefully give an idea of just how much work has gone into
optimizing code produced by GHC.