-
-Start =
- toString <$> parse (
- lex $
- ['id x = x;'] ++
- ['const x y = x;'] ++
- ['flip x y z = x z y;'] ++
- ['twice f = f . f;'] ++
- ['fix f x = let x = f x in x;'] ++
- ['. infixr 9 f g x = f $ g x;'] ++
- ['$ infixr 0 = id;'] ++
- ['& infixr 0 = flip $;'] ++
- ['+ infixr 6 = code add;'] ++
- ['- infixr 6 = code sub;'] ++
- ['* infixr 7 = code mul;'] ++
- ['/ infixr 7 = code div;'] ++
- ['&& infixl 3 = code and;'] ++
- ['|| infixl 2 = code or;'] ++
- ['ap = (1 +);'] ++
- ['ap = (+ 1);']
- ) zero