unlambda-0.1.4.2: Unlambda interpreter
Language.Unlambda
data Exp #
Constructors
Instances
Methods
showsPrec :: Int -> Exp -> ShowS #
show :: Exp -> String #
showList :: [Exp] -> ShowS #
sh :: Exp -> String -> String #
newtype Eval a #
(>>=) :: Eval a -> (a -> Eval b) -> Eval b #
(>>) :: Eval a -> Eval b -> Eval b #
return :: a -> Eval a #
fail :: String -> Eval a #
fmap :: (a -> b) -> Eval a -> Eval b #
(<$) :: a -> Eval b -> Eval a #
pure :: a -> Eval a #
(<*>) :: Eval (a -> b) -> Eval a -> Eval b #
(*>) :: Eval a -> Eval b -> Eval b #
(<*) :: Eval a -> Eval b -> Eval a #
type Cont a = (Maybe Char, Int) -> a -> IO Exp #
currentChar :: Eval (Maybe Char) #
setCurrentChar :: Maybe Char -> Eval () #
io :: IO a -> Eval a #
throw :: ((Maybe Char, Int) -> t -> IO Exp) -> t -> Eval a #
exit :: Exp -> Eval a #
callCC :: (((Maybe Char, Int) -> a -> IO Exp) -> Eval a) -> Eval a #
step :: Eval () #
eval :: Exp -> Eval Exp #
apply :: Exp -> Exp -> Eval Exp #