scheme-interpreter-scala

"If you wish to implement parser combinators from scratch, you must first invent monad transformers."