This starts out with my being interested in darcs - git related
issues.
Since git uses sha1 I wanted to have the ability to calculate sha1 in
an application where I was intending to use darcs as a back-end.
The performance gap is * 30 between Haskell and sha1sum. That
seemed rather steep
Well, my thesis (many moons ago I assure you) was on syntax
directed editors. I came to the conclusion that letting the user
do what they want is a requirement, but that "heuristics" and
other "smarts" were to be avoided on the grounds that at least
for my implementation they were more