Fun(ctional) Algebra

Short-medium, [hopefully] practical, and clear articles on applying
algebraic abstractions and thinking in the context of (mostly
functional) programming.

The primary goal of
Functional Algebra
is to show fellow practitioners with mostly imperative programming
backgrounds why these techniques are worthwhile and how
to start employing them using example code in Haskell, Scala, and
[soon] Clojure.

Note: I am merely dangerous in Clojure, so this will
be a learning process for me as well. Thanks for your
patience!

Material

Axiomatic SoftwareComing Soon
Rethink building software in terms of building axiomatic
systems (i.e. algebras) and how this shift in mindset
might, concievably, simplify the layers in your software,
improve testability, and thus improve quality.

Fun with FunctorsComing Soon
Scala & Haskell examples offering intuitions to what
functors are and why they might be useful.

Effective IOComing Soon
Scala examples that offer insight into why using the IO
monad in a language that doesn't require it might be
useful.

Building Useful MonoidsComing Soon
Scala & Haskell examples that extend from the SCNA
talk I gave in Chicago (Nov 2012) on monoids to discuss
how to build real world, useful monoids and compare to
equivalent imperative code. Slides for the original
talk can be found here.