IOTasks
Safe HaskellNone

Test.IOTasks.Term

Documentation

data Term (k :: TermKind) a Source #

Instances

Instances details
EffectEval (Term k) Source # 
Instance details

Defined in Test.IOTasks.Internal.Term

Methods

pureEval :: (Applicative f, Typeable a) => (forall x. Typeable x => Term k x -> f x) -> Env (Term k) -> Term k a -> f a

eval :: Typeable a => Env (Term k) -> Term k a -> a

Typeable a => Show (Term k a) Source # 
Instance details

Defined in Test.IOTasks.Internal.Term

Methods

showsPrec :: Int -> Term k a -> ShowS

show :: Term k a -> String

showList :: [Term k a] -> ShowS

Typeable a => Eq (Term k a) Source # 
Instance details

Defined in Test.IOTasks.Internal.Term

Methods

(==) :: Term k a -> Term k a -> Bool

(/=) :: Term k a -> Term k a -> Bool

Typeable a => Ord (Term k a) Source # 
Instance details

Defined in Test.IOTasks.Internal.Term

Methods

compare :: Term k a -> Term k a -> Ordering

(<) :: Term k a -> Term k a -> Bool

(<=) :: Term k a -> Term k a -> Bool

(>) :: Term k a -> Term k a -> Bool

(>=) :: Term k a -> Term k a -> Bool

max :: Term k a -> Term k a -> Term k a

min :: Term k a -> Term k a -> Term k a

oEval :: forall a (k :: TermKind). Typeable a => ValueMap -> Term k a -> (OverflowWarning, a) Source #

termVarExps :: forall a (k :: TermKind). Typeable a => Term k a -> [[SomeVar]] Source #

transparentSubterms :: forall a (k :: TermKind). Typeable a => Term k a -> [SomeTerm 'Transparent] Source #

showTerm :: forall a (k :: TermKind). Typeable a => Term k a -> String Source #

showIndexedTerm :: forall a (k :: TermKind). Typeable a => Term k a -> Map SomeVar (Int, [Int]) -> String Source #

data SomeTerm (k :: TermKind) where Source #

Constructors

SomeTerm :: forall a (k :: TermKind). Typeable a => Term k a -> SomeTerm k 

withSomeTerm :: forall (k :: TermKind) r. SomeTerm k -> (forall a. Typeable a => Term k a -> r) -> r Source #

data SomeTermK where Source #

Constructors

SomeTermK :: forall (k :: TermKind). SomeTerm k -> SomeTermK 

withSomeTermK :: SomeTermK -> (forall (k :: TermKind) a. Typeable a => Term k a -> r) -> r Source #

castTerm :: forall {k :: TermKind} a. Typeable a => SomeTerm k -> Maybe (Term k a) Source #