-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Library providing values and operations on values.
--
-- Library providing values and operations on values.
@package funcons-values
@version 0.1.0.2
module Funcons.Operations
library :: (HasValues t, Eq t) => Library t
atom_seed_ :: HasValues t => [OpExpr t] -> OpExpr t
atom_seed :: HasValues t => OpExpr t
next_atom_ :: HasValues t => [OpExpr t] -> OpExpr t
next_atom :: HasValues t => OpExpr t -> OpExpr t
atoms_ :: HasValues t => [OpExpr t] -> OpExpr t
atoms :: HasValues t => OpExpr t
atom_ :: HasValues t => [OpExpr t] -> OpExpr t
atom :: HasValues t => OpExpr t -> OpExpr t
library :: HasValues t => Ord t => Library t
adts_ :: HasValues t => [OpExpr t] -> OpExpr t
adts :: HasValues t => OpExpr t
adt_construct_ :: HasValues t => [OpExpr t] -> OpExpr t
adt_type_construct_ :: HasValues t => [OpExpr t] -> OpExpr t
adt_constructor_ :: HasValues t => [OpExpr t] -> OpExpr t
adt_constructor :: HasValues t => OpExpr t -> OpExpr t
adt_fields_ :: HasValues t => [OpExpr t] -> OpExpr t
adt_fields :: HasValues t => OpExpr t -> OpExpr t
type OP = String
data Result t
SortErr :: String -> Result t
DomErr :: String -> Result t
ArityErr :: String -> Result t
ProjErr :: String -> Result t
Normal :: t -> Result t
type NullaryOp t = Result t
type UnaryOp t = t -> Result t
type BinaryOp t = t -> t -> Result t
type TernaryOp t = t -> t -> t -> Result t
type NaryOp t = [t] -> Result t
type NullaryVOp t = Result t
type UnaryVOp t = Values t -> Result t
type BinaryVOp t = Values t -> Values t -> Result t
type TernaryVOp t = Values t -> Values t -> Values t -> Result t
type NaryVOp t = [Values t] -> Result t
data OpExpr t
ValExpr :: (Values t) -> OpExpr t
TermExpr :: t -> OpExpr t
NullaryOp :: OP -> (NullaryOp t) -> OpExpr t
UnaryOp :: OP -> (UnaryOp t) -> (OpExpr t) -> OpExpr t
BinaryOp :: OP -> (BinaryOp t) -> (OpExpr t) -> (OpExpr t) -> OpExpr t
TernaryOp :: OP -> (TernaryOp t) -> (OpExpr t) -> (OpExpr t) -> (OpExpr t) -> OpExpr t
NaryOp :: OP -> (NaryOp t) -> [OpExpr t] -> OpExpr t
InvalidOp :: OP -> String -> [OpExpr t] -> OpExpr t
RewritesTo :: OP -> (OpExpr t) -> [OpExpr t] -> OpExpr t
vNullaryOp :: OP -> NullaryVOp t -> OpExpr t
vUnaryOp :: HasValues t => OP -> UnaryVOp t -> OpExpr t -> OpExpr t
vBinaryOp :: HasValues t => OP -> BinaryVOp t -> OpExpr t -> OpExpr t -> OpExpr t
vTernaryOp :: HasValues t => OP -> TernaryVOp t -> OpExpr t -> OpExpr t -> OpExpr t -> OpExpr t
vNaryOp :: HasValues t => OP -> NaryVOp t -> [OpExpr t] -> OpExpr t
opName :: OpExpr t -> OP
data ValueOp t
NullaryExpr :: (NullaryExpr t) -> ValueOp t
UnaryExpr :: (UnaryExpr t) -> ValueOp t
BinaryExpr :: (BinaryExpr t) -> ValueOp t
TernaryExpr :: (TernaryExpr t) -> ValueOp t
NaryExpr :: (NaryExpr t) -> ValueOp t
type NullaryExpr t = OpExpr t
type UnaryExpr t = OpExpr t -> OpExpr t
type BinaryExpr t = OpExpr t -> OpExpr t -> OpExpr t
type TernaryExpr t = OpExpr t -> OpExpr t -> OpExpr t -> OpExpr t
type NaryExpr t = [OpExpr t] -> OpExpr t
nullaryOp :: NullaryExpr t -> [OpExpr t] -> OpExpr t
unaryOp :: UnaryExpr t -> [OpExpr t] -> OpExpr t
binaryOp :: BinaryExpr t -> [OpExpr t] -> OpExpr t
ternaryOp :: TernaryExpr t -> [OpExpr t] -> OpExpr t
arityErr :: Int -> OP -> [OpExpr t] -> OpExpr t
applyExpr :: HasValues t => OpExpr t -> Result t
type Name = Text
type MVar = String
-- | This datatype provides a number of builtin value types. The type
-- t is expected to be a super-type of `Values t`, such that
-- there is a projection and injection between t and `Values t`,
-- (see HasValues) Values forms a functor over the type t
-- and provides a generic way of comparing values (see zipWithT)
-- for example to realise pattern matching
data Values t
ADTVal :: Name -> [t] -> Values t
Ascii :: Char -> Values t
Atom :: String -> Values t
Bit :: BitVector -> Values t
Char :: Char -> Values t
ComputationType :: (ComputationTypes t) -> Values t
Float :: Double -> Values t
IEEE_Float_32 :: Float -> Values t
IEEE_Float_64 :: Double -> Values t
Int :: Integer -> Values t
Map :: (ValueMaps (Values t)) -> Values t
Multiset :: (MultiSet (Values t)) -> Values t
Nat :: Integer -> Values t
Rational :: Rational -> Values t
Set :: (ValueSets (Values t)) -> Values t
Vector :: (ValueVectors (Values t)) -> Values t
VMeta :: (TaggedSyntax t) -> Values t
VAny :: Values t
tuple :: HasValues t => [Values t] -> Values t
list :: HasValues t => [Values t] -> Values t
data TaggedSyntax t
TagName :: Name -> [Values t] -> TaggedSyntax t
TagType :: (Types t) -> (Values t) -> TaggedSyntax t
type ValueMaps t = Map t t
type ValueSets t = Set t
type ValueVectors t = Vector t
-- | Postfix operators for specifying sequences.
data SeqSortOp
StarOp :: SeqSortOp
PlusOp :: SeqSortOp
QuestionMarkOp :: SeqSortOp
-- | Computation type S=>T reflects a type of term whose given
-- value is of type S and result is of type T.
data ComputationTypes t
Type :: (Types t) -> ComputationTypes t
-- | =>T
ComputesType :: (Types t) -> ComputationTypes t
-- | S=>T
ComputesFromType :: (Types t) -> (Types t) -> ComputationTypes t
-- | Representation of builtin types.
data Types t
ADTs :: Types t
ADT :: Name -> [t] -> Types t
AnnotatedType :: (Types t) -> SeqSortOp -> Types t
AsciiCharacters :: Types t
Atoms :: Types t
Bits :: Int -> Types t
IntegersFrom :: Integer -> Types t
IntegersUpTo :: Integer -> Types t
Characters :: Types t
Complement :: (Types t) -> Types t
ComputationTypes :: Types t
EmptyType :: Types t
GroundValues :: Types t
IEEEFloats :: IEEEFormats -> Types t
Integers :: Types t
Intersection :: (Types t) -> (Types t) -> Types t
Maps :: (Types t) -> (Types t) -> Types t
Multisets :: (Types t) -> Types t
Naturals :: Types t
Nothings :: Types t
Rationals :: Types t
Sets :: (Types t) -> Types t
Strings :: Types t
Types :: Types t
UnicodeCharacters :: Types t
Union :: (Types t) -> (Types t) -> Types t
DefinedValues :: Types t
Values :: Types t
Vectors :: (Types t) -> Types t
ASTs :: Types t
class HasValues t
project :: HasValues t => t -> Maybe (Values t)
inject :: HasValues t => Values t -> t
class HasComputationTypes t
projectCT :: HasComputationTypes t => t -> Maybe (ComputationTypes t)
injectCT :: HasComputationTypes t => ComputationTypes t -> t
class HasTypes t
projectT :: HasTypes t => t -> Maybe (Types t)
injectT :: HasTypes t => Types t -> t
data IEEEFormats
Binary32 :: IEEEFormats
Binary64 :: IEEEFormats
vmap :: (Ord b) => (a -> b) -> Values a -> Values b
vmapTS :: (Ord b) => (a -> b) -> TaggedSyntax a -> TaggedSyntax b
traverseV :: (Ord b, Monad m, HasValues a, HasValues b) => (a -> m b) -> Values a -> m (Values b)
traverseVM :: (Ord b, Monad m, HasValues a, HasValues b) => (a -> m b) -> ([a] -> m [b]) -> Values a -> m (Values b)
traverseT :: (Ord b, Monad m, HasValues a, HasValues b) => (a -> m b) -> Types a -> m (Types b)
traverseTM :: (Ord b, Monad m, HasValues a, HasValues b) => (a -> m b) -> ([a] -> m [b]) -> Types a -> m (Types b)
traverseTSM :: (HasValues b, HasValues a, Monad m, Ord b) => (a -> m b) -> ([a] -> m [b]) -> TaggedSyntax a -> m TaggedSyntax b
traverseCTM :: (HasValues b, HasValues a, Monad m, Ord b) => (a -> m b) -> ([a] -> m [b]) -> ComputationTypes a -> m ComputationTypes b
structVcompare :: (Monoid m, HasValues a, HasValues b) => (a -> b -> Maybe m) -> Values a -> Values b -> Maybe (Maybe m)
structCTMcompare :: (Monoid m, HasValues a, HasValues b) => (a -> b -> Maybe m) -> ([a] -> [b] -> Maybe m) -> ComputationTypes a -> ComputationTypes b -> (Maybe (Maybe m))
structVMcompare :: (Monoid m, HasValues b, HasValues a) => (a -> b -> Maybe m) -> ([a] -> [b] -> Maybe m) -> Values a -> Values b -> Maybe (Maybe m)
structTSMcompare :: (Monoid m, HasValues b2, HasValues b1) => (b1 -> b2 -> Maybe m) -> ([b1] -> [b2] -> Maybe m) -> TaggedSyntax b1 -> TaggedSyntax b2 -> Maybe Maybe m
structTMcompare :: (Monoid m, HasValues a, HasValues b) => (a -> b -> Maybe m) -> ([a] -> [b] -> Maybe m) -> Types a -> Types b -> Maybe (Maybe m)
downcastValueType :: Values t -> Types t
-- | Returns the rational representation of a value if it is a
-- subtype. Otherwise it returns the original value.
upcastRationals :: Values t -> Values t
-- | Returns the integer representation of a value if it is a
-- subtype. Otherwise it returns the original value.
upcastIntegers :: Values t -> Values t
-- | Returns the natural representation of a value if it is a
-- subtype. Otherwise it returns the original value.
upcastNaturals :: Values t -> Values t
-- | Returns the unicode representation of an assci value. Otherwise
-- it returns the original value.
upcastUnicode :: Values t -> Values t
castType :: HasValues t => Values t -> Maybe (Types t)
mk_integers :: Integer -> Values t
mk_naturals :: Integer -> Values t
mk_unicode_characters :: Char -> Values t
mk_ascii_characters :: Char -> Values t
(===) :: (HasValues t, Eq t) => Values t -> Values t -> Bool
(=/=) :: (HasValues t, Eq t) => Values t -> Values t -> Bool
isGround :: HasValues t => Values t -> Bool
isAscii :: () => Values t -> Bool
isChar :: () => Values t -> Bool
isNat :: () => Values t -> Bool
isInt :: () => Values t -> Bool
isEnv :: () => Values t -> Bool
isMap :: () => Values t -> Bool
isSet :: () => Values t -> Bool
isString_ :: HasValues t => Values t -> Bool
isType :: () => Values t -> Bool
isVec :: () => Values t -> Bool
unString :: HasValues t => Values t -> String
none__ :: Values t
isNoValue :: Values t -> Bool
isDefinedVal :: Values t -> Bool
set_ :: Ord t => [Values t] -> Values t
ppValues :: HasValues t => (t -> String) -> Values t -> String
ppTaggedSyntax :: HasValues t => (t -> String) -> TaggedSyntax t -> String
ppComputationTypes :: HasValues t => (t -> String) -> ComputationTypes t -> String
ppTypes :: HasValues t => (t -> String) -> Types t -> String
ppOp :: SeqSortOp -> String
showArgs :: [String] -> String
showArgs_ :: [String] -> String
data EvalResult t
Error :: (OpExpr t) -> (Result t) -> EvalResult t
Success :: t -> EvalResult t
eval :: HasValues t => OpExpr t -> EvalResult t
applyEval :: OpExpr t -> Result t -> EvalResult t
showArgs :: (HasValues t, Show t) => [OpExpr t] -> String
library :: HasValues t => Library t
lists_ :: HasValues t => [OpExpr t] -> OpExpr t
lists :: HasValues t => OpExpr t -> OpExpr t
list_singleton_ :: HasValues t => [OpExpr t] -> OpExpr t
list_singleton :: HasValues t => OpExpr t -> OpExpr t
nil_ :: HasValues t => [OpExpr t] -> OpExpr t
nil :: HasValues t => OpExpr t
is_nil_ :: HasValues t => [OpExpr t] -> OpExpr t
is_nil :: HasValues t => OpExpr t -> OpExpr t
cons_ :: HasValues t => [OpExpr t] -> OpExpr t
cons :: HasValues t => OpExpr t -> OpExpr t -> OpExpr t
list_ :: HasValues t => [OpExpr t] -> OpExpr t
list_append_ :: HasValues t => [OpExpr t] -> OpExpr t
list_append :: HasValues t => OpExpr t -> OpExpr t -> OpExpr t
isList :: HasValues t => Values t -> Bool
toList :: HasValues t => Values t -> [Values t]
list_concat_ :: HasValues t => [OpExpr t] -> OpExpr t
list_concat :: HasValues t => [OpExpr t] -> OpExpr t
head_ :: HasValues t => [OpExpr t] -> OpExpr t
tail_ :: HasValues t => [OpExpr t] -> OpExpr t
headOp :: HasValues t => OpExpr t -> OpExpr t
tailOp :: HasValues t => OpExpr t -> OpExpr t
library :: HasValues t => Library t
tuples_ :: HasValues t => [OpExpr t] -> OpExpr t
empty_tuple_ :: HasValues t => [OpExpr t] -> OpExpr t
tuple_prepend_ :: HasValues t => [OpExpr t] -> OpExpr t
empty_tuple :: HasValues t => OpExpr t
tuple_prepend :: HasValues t => OpExpr t -> OpExpr t -> OpExpr t
tuple_ :: HasValues t => [OpExpr t] -> OpExpr t
tuple_index_ :: HasValues t => [OpExpr t] -> OpExpr t
tuple_index :: HasValues t => OpExpr t -> OpExpr t -> OpExpr t
library :: (HasValues t, Eq t) => Library t
tobool :: Bool -> Values t
frombool :: (Values t) -> Maybe Bool
booleans_ :: HasValues t => OpExpr t
true_ :: HasValues t => Values t
false_ :: HasValues t => Values t
is_equal_ :: (HasValues t, Eq t) => [OpExpr t] -> OpExpr t
is_equal :: (HasValues t, Eq t) => OpExpr t -> OpExpr t -> OpExpr t
library :: (HasValues t, Eq t) => Library t
toOpt :: HasValues t => Maybe t -> Values t
optionals_ :: HasValues t => [OpExpr t] -> OpExpr t
optionals :: HasValues t => OpExpr t -> OpExpr t
some__ :: HasValues t => t -> Values t
some_ :: HasValues t => [OpExpr t] -> OpExpr t
some :: HasValues t => OpExpr t -> OpExpr t
none_ :: HasValues t => [OpExpr t] -> OpExpr t
none :: HasValues t => OpExpr t
library :: (HasValues t, Ord t) => Library t
datatype_values_ :: HasValues t => [OpExpr t] -> OpExpr t
datatype_values :: HasValues t => OpExpr t
ground_values_ :: HasValues t => [OpExpr t] -> OpExpr t
ground_values :: HasValues t => OpExpr t
types_ :: HasValues t => [OpExpr t] -> OpExpr t
types :: HasValues t => OpExpr t
value_types_ :: HasValues t => [OpExpr t] -> OpExpr t
value_types :: HasValues t => OpExpr t
defined_values_ :: HasValues t => [OpExpr t] -> OpExpr t
defined_values :: HasValues t => OpExpr t
nothing_ :: HasValues t => [OpExpr t] -> OpExpr t
nothing :: HasValues t => OpExpr t
values_ :: HasValues t => [OpExpr t] -> OpExpr t
values :: HasValues t => OpExpr t
is_value_ :: HasValues t => [OpExpr t] -> OpExpr t
is_value :: HasValues t => OpExpr t -> OpExpr t
value_type_ :: HasValues t => [OpExpr t] -> OpExpr t
value_type :: HasValues t => OpExpr t -> OpExpr t
tyOf :: HasValues t => Values t -> Types t
type_member_ :: HasValues t => [OpExpr t] -> OpExpr t
-- | Type membership check for primitive types and predefined composite
-- types (non-ADTs).
type_member :: HasValues t => OpExpr t -> OpExpr t -> OpExpr t
isInType :: HasValues t => Values t -> Types t -> Maybe Bool
isInTupleType :: HasValues t => [Values t] -> [Types t] -> Maybe Bool
library :: (HasValues t, Eq t) => Library t
non_grounded_ :: HasValues t => [OpExpr t] -> OpExpr t
non_grounded :: HasValues t => OpExpr t -> OpExpr t
non_grounded_values_ :: HasValues t => [OpExpr t] -> OpExpr t
non_grounded_values :: HasValues t => OpExpr t
library :: HasValues t => Library t
integer_modulo_ :: HasValues t => [OpExpr t] -> OpExpr t
integer_mod_ :: HasValues t => [OpExpr t] -> OpExpr t
stepMod :: HasValues t => OpExpr t -> OpExpr t -> OpExpr t
integers_ :: HasValues t => [OpExpr t] -> OpExpr t
integers :: HasValues t => OpExpr t
is_integer_ :: HasValues t => [OpExpr t] -> OpExpr t
is_integer :: HasValues t => OpExpr t -> OpExpr t
isInt :: Values t -> Bool
unInt :: () => Values t -> Integer
integer_add_ :: HasValues t => [OpExpr t] -> OpExpr t
integer_multiply_ :: HasValues t => [OpExpr t] -> OpExpr t
integer_subtract_ :: HasValues t => [OpExpr t] -> OpExpr t
integer_subtract :: HasValues t => OpExpr t -> OpExpr t -> OpExpr t
integer_divide_ :: HasValues t => [OpExpr t] -> OpExpr t
integer_divide :: HasValues t => OpExpr t -> OpExpr t -> OpExpr t
integer_power_ :: HasValues t => [OpExpr t] -> OpExpr t
integer_power :: HasValues t => OpExpr t -> OpExpr t -> OpExpr t
natural_predecessor_ :: HasValues t => [OpExpr t] -> OpExpr t
nat_pred_ :: HasValues t => [OpExpr t] -> OpExpr t
natural_predecessor :: HasValues t => OpExpr t -> OpExpr t
natural_successor_ :: HasValues t => [OpExpr t] -> OpExpr t
nat_succ_ :: HasValues t => [OpExpr t] -> OpExpr t
natural_successor :: HasValues t => OpExpr t -> OpExpr t
integer_list_ :: HasValues t => [OpExpr t] -> OpExpr t
integer_list :: HasValues t => OpExpr t -> OpExpr t -> OpExpr t
integer_absolute_value_ :: HasValues t => [OpExpr t] -> OpExpr t
integer_absolute_value :: HasValues t => OpExpr t -> OpExpr t
decimal_natural_ :: HasValues t => [OpExpr t] -> OpExpr t
decimal_natural :: HasValues t => OpExpr t -> OpExpr t
is_less_ :: HasValues t => [OpExpr t] -> OpExpr t
is_less :: HasValues t => OpExpr t -> OpExpr t -> OpExpr t
is_less_or_equal_ :: HasValues t => [OpExpr t] -> OpExpr t
is_less_or_equal :: HasValues t => OpExpr t -> OpExpr t -> OpExpr t
is_greater_ :: HasValues t => [OpExpr t] -> OpExpr t
is_greater :: HasValues t => OpExpr t -> OpExpr t -> OpExpr t
is_greater_or_equal_ :: HasValues t => [OpExpr t] -> OpExpr t
is_greater_or_equal :: HasValues t => OpExpr t -> OpExpr t -> OpExpr t
library :: HasValues t => Library t
ieee_float_truncate_ :: HasValues t => [OpExpr t] -> OpExpr t
ieee_float_truncate :: HasValues t => OpExpr t -> OpExpr t -> OpExpr t
ieee_float_add_ :: HasValues t => [OpExpr t] -> OpExpr t
ieee_float_op :: HasValues t => String -> (Double -> Double -> Double) -> Double -> Values t -> [Values t] -> Result t
isIEEEFormat :: Values t -> Values t -> Bool
doubleFromIEEEFormat :: Values t -> Values t -> Double
library :: HasValues t => Library t
is_string_ :: HasValues t => [OpExpr t] -> OpExpr t
is_string :: HasValues t => OpExpr t -> OpExpr t
to_string_ :: HasValues t => [OpExpr t] -> OpExpr t
to_string :: HasValues t => OpExpr t -> OpExpr t
stepTo_String :: HasValues t => Values t -> Result t
mk_string :: HasValues t => String -> Result t
library :: (HasValues t, Ord t) => Library t
sets_ :: HasValues t => [OpExpr t] -> OpExpr t
sets :: HasValues t => OpExpr t -> OpExpr t
set_empty_ :: HasValues t => [OpExpr t] -> OpExpr t
set_empty :: HasValues t => OpExpr t
is_in_set_ :: (HasValues t, Ord t) => [OpExpr t] -> OpExpr t
is_in_set :: (HasValues t, Ord t) => OpExpr t -> OpExpr t -> OpExpr t
set_elements_ :: HasValues t => [OpExpr t] -> OpExpr t
set_elements :: HasValues t => OpExpr t -> OpExpr t
set_size_ :: (Ord t, HasValues t) => [OpExpr t] -> OpExpr t
set_size :: (Ord t, HasValues t) => OpExpr t -> OpExpr t
set_intersect_ :: (Ord t, HasValues t) => [OpExpr t] -> OpExpr t
set_difference_ :: (Ord t, HasValues t) => [OpExpr t] -> OpExpr t
set_difference :: (Ord t, HasValues t) => OpExpr t -> OpExpr t -> OpExpr t
some_element_ :: (Ord t, HasValues t) => [OpExpr t] -> OpExpr t
some_element :: (HasValues t, Ord t) => OpExpr t -> OpExpr t
is_subset_ :: (Ord t, HasValues t) => [OpExpr t] -> OpExpr t
is_subset :: (Ord t, HasValues t) => OpExpr t -> OpExpr t -> OpExpr t
set_ :: (Ord t, HasValues t) => [OpExpr t] -> OpExpr t
set_unite_ :: (Ord t, HasValues t) => [OpExpr t] -> OpExpr t
set_insert_ :: (Ord t, HasValues t) => [OpExpr t] -> OpExpr t
set_insert :: (HasValues t, Ord t) => OpExpr t -> OpExpr t -> OpExpr t
element_not_in_ :: (HasValues t, Ord t) => [OpExpr t] -> OpExpr t
element_not_in :: (Ord t, HasValues t) => OpExpr t -> OpExpr t -> OpExpr t
library :: (HasValues t, Ord t) => Library t
library :: (HasValues t, Ord t) => Library t
library :: (HasValues t, Ord t) => Library t
characters_ :: HasValues t => [OpExpr t] -> OpExpr t
characters :: HasValues t => OpExpr t
ascii_characters_ :: HasValues t => [OpExpr t] -> OpExpr t
ascii_characters :: HasValues t => OpExpr t
ascii_character_ :: HasValues t => [OpExpr t] -> OpExpr t
ascii_character :: HasValues t => OpExpr t -> OpExpr t
unicode_ :: HasValues t => [OpExpr t] -> OpExpr t
unicode :: HasValues t => OpExpr t -> OpExpr t
numUnicodeCodes :: Integer
unicode_character_code_ :: HasValues t => [OpExpr t] -> OpExpr t
unicode_character_code :: HasValues t => OpExpr t -> OpExpr t
library :: (HasValues t, Ord t) => Library t
map_ :: (Ord t, HasValues t) => [OpExpr t] -> OpExpr t
mkPairs :: [a] -> [(a, a)]
maps_ :: HasValues t => [OpExpr t] -> OpExpr t
maps :: HasValues t => OpExpr t -> OpExpr t -> OpExpr t
map_empty_ :: HasValues t => [OpExpr t] -> OpExpr t
map_empty :: HasValues t => OpExpr t
map_singleton_ :: (HasValues t, Ord t) => [OpExpr t] -> OpExpr t
map_singleton :: (HasValues t, Ord t) => OpExpr t -> OpExpr t -> OpExpr t
is_map_empty_ :: HasValues t => [OpExpr t] -> OpExpr t
is_map_empty :: HasValues t => OpExpr t -> OpExpr t
map_insert_ :: (HasValues t, Ord t) => [OpExpr t] -> OpExpr t
map_insert :: (HasValues t, Ord t) => OpExpr t -> OpExpr t -> OpExpr t -> OpExpr t
map_lookup_ :: (HasValues t, Ord t) => [OpExpr t] -> OpExpr t
map_lookup :: (HasValues t, Ord t) => OpExpr t -> OpExpr t -> OpExpr t
map_delete_ :: (HasValues t, Ord t) => [OpExpr t] -> OpExpr t
map_delete :: (HasValues t, Ord t) => OpExpr t -> OpExpr t -> OpExpr t
is_in_domain_ :: (Ord t, HasValues t) => [OpExpr t] -> OpExpr t
is_in_domain :: (Ord t, HasValues t) => OpExpr t -> OpExpr t -> OpExpr t
domain_ :: (HasValues t, Ord t) => [OpExpr t] -> OpExpr t
domain :: (HasValues t, Ord t) => OpExpr t -> OpExpr t
map_override_ :: (HasValues t, Ord t) => [OpExpr t] -> OpExpr t
map_override :: (HasValues t, Ord t) => OpExpr t -> OpExpr t -> OpExpr t
map_unite_ :: (HasValues t, Ord t) => [OpExpr t] -> OpExpr t
map_unite :: (HasValues t, Ord t) => [OpExpr t] -> OpExpr t
allDomainPairs :: [a] -> [(a, a)]
map_elements_ :: (Ord t, HasValues t) => [OpExpr t] -> OpExpr t
map_elements :: (Ord t, HasValues t) => OpExpr t -> OpExpr t
map_points_ :: (Ord t, HasValues t) => [OpExpr t] -> OpExpr t
map_points :: (Ord t, HasValues t) => OpExpr t -> OpExpr t
libApp :: (HasValues t, Ord t) => OP -> [OpExpr t] -> Maybe (OpExpr t)
library :: (HasValues t, Ord t) => Library t
type Library t = Map OP (ValueOp t)