I’ve been using Haskell for a while, trying to apply it to large-ish projects. Learning it has been time consuming, but rewarding. I’ve stuck with it this long because: most classes of bugs are caught at compile time, due to strict type system and pure code (immutability) – code tends to work right the first time it’s run! haskell types are very powerful: using them to design and describe software