Simple example language built using Lam
.
- data Val role a = Val String a
- simpleVal :: Show a => a -> Lam Val () a
- function :: (Typeable ra, Typeable a) => String -> (a -> b) -> Lam Val ra a -> Lam Val rb b
- function2 :: (Typeable ra, Typeable a, Typeable rb, Typeable b) => String -> (a -> b -> c) -> Lam Val ra a -> Lam Val rb b -> Lam Val rc c
- int :: Int -> Lam Val () Int
- expr1 :: Lam Val (() -> ()) (Int -> Int)
- expr2 :: Lam Val (() -> ()) (Int -> Int)