a SASL compiler in Haskell