The original blog post mentioning monoids:
http://enfranchisedmind.com/blog/posts/random-thoughts-on-haskell/
that caused a long thread on haskell-cafe:
http://www.haskell.org/pipermail/haskell-cafe/2009-January/053539.html
that prompted my post on monoids:
http://blog.sigfpe.com/2009/01/haskell-monoids-and-their-uses.html
and apfelmus's post on finger trees:
http://apfelmus.nfshost.com/monoid-fingertree.html
derived from a paper on 2-3 finger trees:
http://www.soi.city.ac.uk/~ross/papers/FingerTree.html
which was inspired by things like prefix sums:
http://www.cs.cmu.edu/afs/cs.cmu.edu/project/scandal/public/papers/CMU-CS-90-190.html
and Data Parallel Algorithms:
http://cva.stanford.edu/classes/cs99s/papers/hillis-steele-data-parallel-algorithms.pdf
which motivated my:
http://blog.sigfpe.com/2009/01/fast-incremental-regular-expression.html
Useful documentation is to be found here:
http://www.haskell.org/ghc/docs/latest/html/libraries/base/Data-Monoid.html
http://hackage.haskell.org/packages/archive/fingertree/0.0/doc/html/Data-FingerTree.html
http://hackage.haskell.org/packages/archive/mtl/latest/doc/html/Control-Monad-Writer-Lazy.html
--
Dan