Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- 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
- 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
- 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)
- | TermExpr t
- | NullaryOp OP (NullaryOp t)
- | UnaryOp OP (UnaryOp t) (OpExpr t)
- | BinaryOp OP (BinaryOp t) (OpExpr t) (OpExpr t)
- | TernaryOp OP (TernaryOp t) (OpExpr t) (OpExpr t) (OpExpr t)
- | NaryOp OP (NaryOp t) [OpExpr t]
- | InvalidOp OP String [OpExpr t]
- | RewritesTo OP (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)
- | UnaryExpr (UnaryExpr t)
- | BinaryExpr (BinaryExpr t)
- | TernaryExpr (TernaryExpr t)
- | NaryExpr (NaryExpr 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
- data IEEEFormats
- class HasTypes t where
- class HasComputationTypes t where
- projectCT :: t -> Maybe (ComputationTypes t)
- injectCT :: ComputationTypes t -> t
- class HasValues t where
- data Types t
- = ADTs
- | ADT Name [t]
- | AnnotatedType (Types t) SeqSortOp
- | AsciiCharacters
- | ISOLatinCharacters
- | BMPCharacters
- | Atoms
- | IntegersFrom Integer
- | IntegersUpTo Integer
- | Characters
- | Complement (Types t)
- | ComputationTypes
- | EmptyType
- | IEEEFloats IEEEFormats
- | Integers
- | Intersection (Types t) (Types t)
- | Naturals
- | NullType
- | Rationals
- | Types
- | UnicodeCharacters
- | Union (Types t) (Types t)
- | Values
- data ComputationTypes t
- = Type (Types t)
- | ComputesType (Types t)
- | ComputesFromType (Types t) (Types t)
- data SeqSortOp
- type ValueVectors t = Vector t
- type ValueSets t = Set t
- type ValueMaps t = Map t [t]
- data Values t
- = ADTVal Name [t]
- | Atom String
- | ComputationType (ComputationTypes t)
- | Float Double
- | IEEE_Float_32 Float
- | IEEE_Float_64 Double
- | Int Integer
- | Map (ValueMaps (Values t))
- | Multiset (MultiSet (Values t))
- | Nat Integer
- | Rational Rational
- | Set (ValueSets (Values t))
- | Vector (ValueVectors (Values t))
- | VAny
- | ValSeq [t]
- type MVar = String
- type Name = Text
- ascii_cons :: [Char]
- unicode_cons :: Name
- tuple :: HasValues t => [Values t] -> Values t
- list :: HasValues t => [Values t] -> Values t
- vector :: HasValues t => [Values t] -> Values t
- multi :: HasValues t => [t] -> Values t
- multi_ :: HasValues t => [Values t] -> Values t
- sets :: HasValues t => Types t -> Types t
- multisets :: HasValues t => Types t -> Types t
- maps :: HasValues t => t -> t -> Types t
- vectors :: HasValues t => Types t -> Types t
- vmap :: Ord b => (a -> b) -> Values a -> Values 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)
- traverseCTM :: (Ord b, Monad m, HasValues a, HasValues 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)
- 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
- upcastRationals :: Values t -> Values t
- upcastIntegers :: Values t -> Values t
- upcastNaturals :: Values t -> Values t
- upcastCharacter :: HasValues t => Values t -> Maybe Char
- castType :: HasValues t => Values t -> Maybe (Types t)
- mk_integers :: Integer -> Values t
- mk_naturals :: Integer -> Values t
- mk_unicode_characters :: HasValues t => Char -> Values t
- downcast_unicode_characters :: HasValues t => 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
- 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
- null__ :: Values t
- null_value__ :: Values t
- isNull :: Values t -> Bool
- isDefinedVal :: Values t -> Bool
- ppValues :: HasValues t => (t -> String) -> Values t -> String
- ppComputationTypes :: HasValues t => (t -> String) -> ComputationTypes t -> String
- ppTypes :: HasValues t => (t -> String) -> Types t -> String
- ppOp :: SeqSortOp -> String
- showArgs_ :: [String] -> String
- data EvalResult t
- eval :: HasValues t => OpExpr t -> EvalResult t
- applyEval :: OpExpr t -> Result t -> EvalResult 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
- tuples_ :: HasValues t => [OpExpr t] -> OpExpr t
- tuple_is_empty_ :: HasValues t => [OpExpr t] -> OpExpr t
- tuple_is_empty :: 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
- tuple_head_ :: HasValues t => [OpExpr t] -> OpExpr t
- tuple_tail_ :: HasValues t => [OpExpr t] -> OpExpr t
- tupleHeadOp :: HasValues t => OpExpr t -> OpExpr t
- tupleTailOp :: HasValues t => OpExpr t -> OpExpr 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
- toOpt :: HasValues t => Maybe t -> Values t
- none__ :: 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
- 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
- empty_type_ :: HasValues t => [OpExpr t] -> OpExpr t
- empty_type :: HasValues t => OpExpr t
- nulltype_ :: HasValues t => [OpExpr t] -> OpExpr t
- nulltype :: HasValues t => OpExpr t
- null_ :: HasValues t => [OpExpr t] -> OpExpr t
- null :: 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_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
- 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
- integer_mod_ :: HasValues t => [OpExpr t] -> OpExpr t
- integer_modulo_ :: 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
- integers_from_ :: HasValues t => [OpExpr t] -> OpExpr t
- integers_from :: HasValues t => OpExpr t -> OpExpr t
- integers_up_to_ :: HasValues t => [OpExpr t] -> OpExpr t
- integers_up_to :: HasValues t => OpExpr t -> OpExpr t
- is_integer_ :: HasValues t => [OpExpr t] -> OpExpr t
- is_integer :: HasValues t => OpExpr t -> OpExpr t
- 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
- binary_natural_ :: HasValues t => [OpExpr t] -> OpExpr t
- binary_natural :: HasValues t => OpExpr t -> OpExpr t
- octal_natural_ :: HasValues t => [OpExpr t] -> OpExpr t
- octal_natural :: HasValues t => OpExpr t -> OpExpr t
- hexadecimal_natural_ :: HasValues t => [OpExpr t] -> OpExpr t
- hexadecimal_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
- 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
- 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
- type Graph e = Map e (Set e)
- is_cyclic_ :: (Ord t, HasValues t) => [OpExpr t] -> OpExpr t
- is_cyclic :: (Ord t, HasValues t) => OpExpr t -> OpExpr t
- topological_sort_ :: (Ord t, HasValues t) => [OpExpr t] -> OpExpr t
- topological_sort :: (Ord t, HasValues t) => OpExpr t -> OpExpr t
- toGraph :: Ord t => Values t -> Maybe (Graph (Values t))
- entries :: Eq e => Graph e -> [e]
- delete :: Ord e => e -> Graph e -> Graph e
- schedule :: Ord e => Graph e -> ([e], Graph e)
- cyclic :: Ord e => Graph e -> Bool
- is_empty :: Map k a -> Bool
- 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
- multisets_ :: HasValues t => [OpExpr t] -> OpExpr t
- multiset_ :: (Ord t, HasValues t) => [OpExpr t] -> OpExpr t
- multiset_elements_ :: HasValues t => [OpExpr t] -> OpExpr t
- multiset_elements :: HasValues t => OpExpr t -> OpExpr t
- multiset_occurrences_ :: (Ord t, HasValues t) => [OpExpr t] -> OpExpr t
- multiset_occurrences :: (Ord t, HasValues t) => OpExpr t -> OpExpr t -> OpExpr t
- multiset_insert_ :: (Ord t, HasValues t) => [OpExpr t] -> OpExpr t
- multiset_insert :: (HasValues t, Ord t) => OpExpr t -> OpExpr t -> OpExpr t
- multiset_delete_ :: (Ord t, HasValues t) => [OpExpr t] -> OpExpr t
- multiset_delete :: (Ord t, HasValues t) => OpExpr t -> OpExpr t -> OpExpr t -> OpExpr t
- is_submultiset_ :: (Ord t, HasValues t) => [OpExpr t] -> OpExpr t
- is_submultiset :: (Ord t, HasValues t) => OpExpr t -> OpExpr t -> OpExpr t
- bit_vector_not_ :: HasValues t => [OpExpr t] -> OpExpr t
- bit_vector_not :: HasValues t => OpExpr t -> OpExpr t
- bit_vector_and_ :: HasValues t => [OpExpr t] -> OpExpr t
- bit_vector_and :: HasValues t => OpExpr t -> OpExpr t -> OpExpr t
- bit_vector_or_ :: HasValues t => [OpExpr t] -> OpExpr t
- bit_vector_or :: HasValues t => OpExpr t -> OpExpr t -> OpExpr t
- bit_vector_xor_ :: HasValues t => [OpExpr t] -> OpExpr t
- bit_vector_xor :: HasValues t => OpExpr t -> OpExpr t -> OpExpr t
- bit_vector_shift_left_ :: HasValues t => [OpExpr t] -> OpExpr t
- bit_vector_shift_left :: HasValues t => OpExpr t -> OpExpr t -> OpExpr t
- bit_vector_logical_shift_right_ :: HasValues t => [OpExpr t] -> OpExpr t
- bit_vector_logical_shift_right :: HasValues t => OpExpr t -> OpExpr t -> OpExpr t
- bit_vector_arithmetical_shift_right_ :: HasValues t => [OpExpr t] -> OpExpr t
- bit_vector_arithmetical_shift_right :: HasValues t => OpExpr t -> OpExpr t -> OpExpr t
- bit_vector_to_integer_ :: HasValues t => [OpExpr t] -> OpExpr t
- bit_vector_to_integer :: HasValues t => OpExpr t -> OpExpr t
- bit_vector_to_natural_ :: HasValues t => [OpExpr t] -> OpExpr t
- bit_vector_to_natural :: HasValues t => OpExpr t -> OpExpr t
- integer_to_bit_vector_ :: HasValues t => [OpExpr t] -> OpExpr t
- integer_to_bit_vector :: HasValues t => OpExpr t -> OpExpr t -> OpExpr t
- apply_to_vec :: HasValues t => (BV -> BV) -> [t] -> Maybe [t]
- args_to_bools :: HasValues t => [t] -> Maybe [Bool]
- binary_bit_op :: (HasValues t1, HasValues t2) => [Char] -> (BV -> BV -> BV) -> Values t1 -> Values t2 -> Result t2
- bit_nat_op :: (HasValues t1, Num b) => [Char] -> (BV -> b -> BV) -> Values t1 -> Values t2 -> Result t1
- characters_ :: HasValues t => [OpExpr t] -> OpExpr t
- characters :: HasValues t => OpExpr t
- unicode_characters_ :: HasValues t => [OpExpr t] -> OpExpr t
- unicode_characters :: HasValues t => OpExpr t
- unicode_points_ :: HasValues t => [OpExpr t] -> OpExpr t
- unicode_points :: HasValues t => OpExpr t
- bmp_points_ :: HasValues t => [OpExpr t] -> OpExpr t
- bmp_points :: HasValues t => OpExpr t
- ascii_characters_ :: HasValues t => [OpExpr t] -> OpExpr t
- ascii_characters :: HasValues t => OpExpr t
- iso_latin_characters_ :: HasValues t => [OpExpr t] -> OpExpr t
- iso_latin_characters :: HasValues t => OpExpr t
- bmp_characters_ :: HasValues t => [OpExpr t] -> OpExpr t
- bmp_characters :: HasValues t => OpExpr t
- ascii_character_ :: HasValues t => [OpExpr t] -> OpExpr t
- ascii_character :: HasValues t => OpExpr t -> OpExpr t
- unicode_character_ :: HasValues t => [OpExpr t] -> OpExpr t
- unicode_character :: HasValues t => OpExpr t -> OpExpr t
- numUnicodeCodes :: Integer
- numBMPCodes :: Integer
- unicode_point_ :: HasValues t => [OpExpr t] -> OpExpr t
- unicode_point :: HasValues t => OpExpr t -> OpExpr t
- map_ :: (Ord t, HasValues t) => [OpExpr t] -> OpExpr t
- maps_ :: HasValues 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_unite_ :: (HasValues t, Ord t) => [OpExpr t] -> OpExpr t
- map_unite :: (HasValues t, Ord t) => [OpExpr t] -> OpExpr t
- toMap :: Values t -> ValueMaps (Values 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
- libApp :: (HasValues t, Ord t) => OP -> [OpExpr t] -> Maybe (OpExpr t)
- libAppWith :: (HasValues t, Ord t) => Library t -> OP -> [OpExpr t] -> Maybe (OpExpr t)
- libFromList :: [(OP, ValueOp t)] -> Library t
- libUnite :: [Library t] -> Library t
- library :: (HasValues t, Ord t) => Library t
- type Library t = Map OP (ValueOp t)
Documentation
type NullaryVOp t = Result t Source #
vNullaryOp :: OP -> NullaryVOp t -> OpExpr t Source #
vTernaryOp :: HasValues t => OP -> TernaryVOp t -> OpExpr t -> OpExpr t -> OpExpr t -> OpExpr t Source #
NullaryExpr (NullaryExpr t) | |
UnaryExpr (UnaryExpr t) | |
BinaryExpr (BinaryExpr t) | |
TernaryExpr (TernaryExpr t) | |
NaryExpr (NaryExpr t) |
type NullaryExpr t = OpExpr t Source #
data IEEEFormats Source #
Instances
class HasComputationTypes t where Source #
projectCT :: t -> Maybe (ComputationTypes t) Source #
injectCT :: ComputationTypes t -> t Source #
Instances
HasValues t => HasComputationTypes t Source # | |
Defined in Funcons.Operations.Values projectCT :: t -> Maybe (ComputationTypes t) Source # injectCT :: ComputationTypes t -> t Source # |
Representation of builtin types.
Instances
Functor Types Source # | |
Foldable Types Source # | |
Defined in Funcons.Operations.Values fold :: Monoid m => Types m -> m # foldMap :: Monoid m => (a -> m) -> Types a -> m # foldr :: (a -> b -> b) -> b -> Types a -> b # foldr' :: (a -> b -> b) -> b -> Types a -> b # foldl :: (b -> a -> b) -> b -> Types a -> b # foldl' :: (b -> a -> b) -> b -> Types a -> b # foldr1 :: (a -> a -> a) -> Types a -> a # foldl1 :: (a -> a -> a) -> Types a -> a # elem :: Eq a => a -> Types a -> Bool # maximum :: Ord a => Types a -> a # minimum :: Ord a => Types a -> a # | |
Traversable Types Source # | |
Eq t => Eq (Types t) Source # | |
Ord t => Ord (Types t) Source # | |
Read t => Read (Types t) Source # | |
Show t => Show (Types t) Source # | |
data ComputationTypes t Source #
Computation type S=>T reflects a type of term whose given value is of type S and result is of type T.
Type (Types t) | |
ComputesType (Types t) | =>T |
ComputesFromType (Types t) (Types t) | S=>T |
Instances
Postfix operators for specifying sequences.
type ValueVectors t = Vector t Source #
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
)
ADTVal Name [t] | |
Atom String | |
ComputationType (ComputationTypes t) | |
Float Double | |
IEEE_Float_32 Float | |
IEEE_Float_64 Double | |
Int Integer | |
Map (ValueMaps (Values t)) | |
Multiset (MultiSet (Values t)) | |
Nat Integer | |
Rational Rational | |
Set (ValueSets (Values t)) | |
Vector (ValueVectors (Values t)) | |
VAny | |
ValSeq [t] |
Instances
Eq t => Eq (Values t) Source # | |
Ord t => Ord (Values t) Source # | |
Defined in Funcons.Operations.Values | |
(Read t, Ord t) => Read (Values t) Source # | |
Show t => Show (Values t) Source # | |
HasValues t => IsString (Values t) Source # | |
Defined in Funcons.Operations.Values fromString :: String -> Values t # |
ascii_cons :: [Char] Source #
unicode_cons :: Name Source #
traverseV :: (Ord b, Monad m, HasValues a, HasValues b) => (a -> m b) -> Values a -> m (Values b) Source #
traverseVM :: (Ord b, Monad m, HasValues a, HasValues b) => (a -> m b) -> ([a] -> m [b]) -> Values a -> m (Values b) Source #
traverseT :: (Ord b, Monad m, HasValues a, HasValues b) => (a -> m b) -> Types a -> m (Types b) Source #
traverseTM :: (Ord b, Monad m, HasValues a, HasValues b) => (a -> m b) -> ([a] -> m [b]) -> Types a -> m (Types b) Source #
traverseCTM :: (Ord b, Monad m, HasValues a, HasValues b) => (a -> m b) -> ([a] -> m [b]) -> ComputationTypes a -> m (ComputationTypes b) Source #
structVcompare :: (Monoid m, HasValues a, HasValues b) => (a -> b -> Maybe m) -> Values a -> Values b -> Maybe (Maybe m) Source #
structCTMcompare :: (Monoid m, HasValues a, HasValues b) => (a -> b -> Maybe m) -> ([a] -> [b] -> Maybe m) -> ComputationTypes a -> ComputationTypes b -> Maybe (Maybe m) Source #
structVMcompare :: (Monoid m, HasValues b, HasValues a) => (a -> b -> Maybe m) -> ([a] -> [b] -> Maybe m) -> Values a -> Values b -> Maybe (Maybe m) Source #
structTMcompare :: (Monoid m, HasValues a, HasValues b) => (a -> b -> Maybe m) -> ([a] -> [b] -> Maybe m) -> Types a -> Types b -> Maybe (Maybe m) Source #
downcastValueType :: Values t -> Types t Source #
upcastRationals :: Values t -> Values t Source #
Returns the rational representation of a value if it is a subtype. Otherwise it returns the original value.
upcastIntegers :: Values t -> Values t Source #
Returns the integer representation of a value if it is a subtype. Otherwise it returns the original value.
upcastNaturals :: Values t -> Values t Source #
Returns the natural representation of a value if it is a subtype. Otherwise it returns the original value.
mk_integers :: Integer -> Values t Source #
mk_naturals :: Integer -> Values t Source #
downcast_unicode_characters :: HasValues t => Char -> Values t Source #
Checks whetDoes not check whether the `unicode-point` of
null_value__ :: Values t Source #
isDefinedVal :: Values t -> Bool Source #
ppComputationTypes :: HasValues t => (t -> String) -> ComputationTypes t -> String Source #
data EvalResult t Source #
Instances
(HasValues t, Show t) => Show (EvalResult t) Source # | |
Defined in Funcons.Operations.Eval showsPrec :: Int -> EvalResult t -> ShowS # show :: EvalResult t -> String # showList :: [EvalResult t] -> ShowS # |
empty_tuple :: HasValues t => OpExpr t Source #
datatype_values :: HasValues t => OpExpr t Source #
ground_values :: HasValues t => OpExpr t Source #
value_types :: HasValues t => OpExpr t Source #
empty_type :: HasValues t => OpExpr t Source #
type_member :: HasValues t => OpExpr t -> OpExpr t -> OpExpr t Source #
Type membership check for primitive types and predefined composite types (non-ADTs).
non_grounded_values :: HasValues t => OpExpr t Source #
ieee_float_op :: HasValues t => String -> (Double -> Double -> Double) -> Double -> Values t -> [Values t] -> Result t Source #
schedule :: Ord e => Graph e -> ([e], Graph e) Source #
Return all nodes in the graph such that if `a -> b` in the graph
then a
occurs before b
in the result
Also returns a graph which, if cyclic, contains all the cycles in the
original graph, corresponding to nodes not in the schedule.
binary_bit_op :: (HasValues t1, HasValues t2) => [Char] -> (BV -> BV -> BV) -> Values t1 -> Values t2 -> Result t2 Source #
bit_nat_op :: (HasValues t1, Num b) => [Char] -> (BV -> b -> BV) -> Values t1 -> Values t2 -> Result t1 Source #
characters :: HasValues t => OpExpr t Source #
unicode_characters :: HasValues t => OpExpr t Source #
unicode_points :: HasValues t => OpExpr t Source #
bmp_points :: HasValues t => OpExpr t Source #
ascii_characters :: HasValues t => OpExpr t Source #
iso_latin_characters :: HasValues t => OpExpr t Source #
bmp_characters :: HasValues t => OpExpr t Source #
allDomainPairs :: [a] -> [(a, a)] Source #