IOTasks
Safe HaskellNone

Test.IOTasks.Term.Prelude

Synopsis

Accessors

currentValue :: forall a e (k :: TermKind). (Typeable a, VarExp e) => e a -> Term k a Source #

Defined as currentValue = valueBefore 0, providing access to the current value.

allValues :: forall a e (k :: TermKind). (Typeable a, VarExp e) => e a -> Term k [a] Source #

Defined as allValues = valuesBefore 0, providing access to all values.

valueBefore :: forall a e (k :: TermKind). (Typeable a, VarExp e) => Int -> e a -> Term k a Source #

If the variable-expression x is associated with the values [x_1,..,x_n], valueBefore i x provides access to x_(n-i).

valuesBefore :: forall a e (k :: TermKind). (Typeable a, VarExp e) => Int -> e a -> Term k [a] Source #

If the variable-expression x is associated with the values [x_1,..,x_n], valuesBefore i x provides access to [x_1,..,x_(n-i)].

Arithmetic functions

(.+.) :: forall (k :: TermKind). Term k Integer -> Term k Integer -> Term k Integer Source #

(.-.) :: forall (k :: TermKind). Term k Integer -> Term k Integer -> Term k Integer Source #

(.*.) :: forall (k :: TermKind). Term k Integer -> Term k Integer -> Term k Integer Source #

intLit :: forall (k :: TermKind). Integer -> Term k Integer Source #

Comparison functions

(.==.) :: forall a (k :: TermKind). (Typeable a, Eq a) => Term k a -> Term k a -> Term k Bool Source #

(./=.) :: forall a (k :: TermKind). (Typeable a, Eq a) => Term k a -> Term k a -> Term k Bool Source #

(.>.) :: forall a (k :: TermKind). (Typeable a, Ord a) => Term k a -> Term k a -> Term k Bool Source #

(.>=.) :: forall a (k :: TermKind). (Typeable a, Ord a) => Term k a -> Term k a -> Term k Bool Source #

(.<.) :: forall a (k :: TermKind). (Typeable a, Ord a) => Term k a -> Term k a -> Term k Bool Source #

(.<=.) :: forall a (k :: TermKind). (Typeable a, Ord a) => Term k a -> Term k a -> Term k Bool Source #

Boolean functions

not' :: forall (k :: TermKind). Term k Bool -> Term k Bool Source #

(.&&.) :: forall (k :: TermKind). Term k Bool -> Term k Bool -> Term k Bool Source #

(.||.) :: forall (k :: TermKind). Term k Bool -> Term k Bool -> Term k Bool Source #

true :: forall (k :: TermKind). Term k Bool Source #

false :: forall (k :: TermKind). Term k Bool Source #

embedded values

embeddedLit :: forall a (k :: TermKind). (Embeddable a, Typeable a, Show a) => a -> Term k (Embedded a) Source #

Simple list functions

sum' :: forall (k :: TermKind). Term k [Integer] -> Term k Integer Source #

product' :: forall (k :: TermKind). Term k [Integer] -> Term k Integer Source #

length' :: forall a (k :: TermKind). Typeable a => Term k [a] -> Term k Integer Source #

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

isIn :: forall a (k :: TermKind). (Typeable a, Eq a) => Term k a -> Term k [a] -> Term k Bool Source #

isNotIn :: forall a (k :: TermKind). (Typeable a, Eq a) => Term k a -> Term k [a] -> Term k Bool Source #

listLit :: forall a (k :: TermKind). (Show a, Typeable a) => [a] -> Term k [a] Source #

Complexer list functions

filter' :: forall (k :: TermKind). (Integer -> Bool) -> Term k [Integer] -> Term 'PartiallyOpaque [Integer] Source #

Lifting of opaque functions

liftOpaqueValue :: Typeable a => (a, String) -> Term 'PartiallyOpaque a Source #

liftOpaque :: forall a b (k :: TermKind). (Typeable a, Typeable b) => (a -> b, String) -> Term k a -> Term 'PartiallyOpaque b Source #

liftOpaque2 :: forall a b c (k :: TermKind). (Typeable a, Typeable b, Typeable c) => (a -> b -> c, String) -> Term k a -> Term k b -> Term 'PartiallyOpaque c Source #