Building Small Native Languages with Haskell