-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Unlambda interpreter
--   
--   This is an interpreter of the Unlambda language, written in the pure,
--   lazy, functional language Haskell.
@package unlambda
@version 0.1.4.2

module Language.Unlambda
data Exp
App :: Exp -> Exp -> Exp
K :: Exp
K1 :: Exp -> Exp
S :: Exp
S1 :: Exp -> Exp
S2 :: Exp -> Exp -> Exp
I :: Exp
V :: Exp
C :: Exp
Cont :: Cont Exp -> Exp
D :: Exp
D1 :: Exp -> Exp
Dot :: Char -> Exp
E :: Exp
At :: Exp
Ques :: Char -> Exp
Pipe :: Exp
sh :: Exp -> String -> String
newtype Eval a
Eval :: ((Maybe Char, Int) -> Cont a -> IO Exp) -> 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
instance GHC.Internal.Base.Applicative Language.Unlambda.Eval
instance GHC.Internal.Base.Functor Language.Unlambda.Eval
instance GHC.Internal.Base.Monad Language.Unlambda.Eval
instance GHC.Internal.Show.Show Language.Unlambda.Exp
