rhaskell Very restricted Haskell (strict subset) for formally specifying semantics of programming languages. no modules no type classes no newtype and deriving fully monomorphic