Safe Haskell | None |
---|---|
Language | Haskell2010 |
- newArray' :: Storable a => [a] -> IO (Ptr a)
- freeArray :: Storable a => Ptr a -> CSize -> (a -> IO ()) -> IO ()
- freeIndirection :: Storable a => Ptr a -> (a -> IO ()) -> IO ()
- peekMaybe :: Storable a => Ptr a -> IO (Maybe a)
- fromIndirect :: Storable a => Ptr a -> (a -> IO b) -> IO b
- data Sign
- rawSign :: Sign -> AstSign
- fromRawSign :: AstSign -> Sign
- data UnaryOperation a = UnaryOperation UnaryOperator (Term a)
- rawUnaryOperation :: UnaryOperation (Symbol s) -> IO AstUnaryOperation
- freeUnaryOperation :: AstUnaryOperation -> IO ()
- fromRawUnaryOperation :: AstUnaryOperation -> IO (UnaryOperation (Symbol s))
- data UnaryOperator
- rawUnaryOperator :: UnaryOperator -> AstUnaryOperator
- fromRawUnaryOperator :: AstUnaryOperator -> UnaryOperator
- data BinaryOperation a = BinaryOperation BinaryOperator (Term a) (Term a)
- rawBinaryOperation :: BinaryOperation (Symbol s) -> IO AstBinaryOperation
- freeBinaryOperation :: AstBinaryOperation -> IO ()
- fromRawBinaryOperation :: AstBinaryOperation -> IO (BinaryOperation (Symbol s))
- data BinaryOperator
- rawBinaryOperator :: BinaryOperator -> AstBinaryOperator
- fromRawBinaryOperator :: AstBinaryOperator -> BinaryOperator
- data Interval a = Interval (Term a) (Term a)
- rawInterval :: Interval (Symbol s) -> IO AstInterval
- freeInterval :: AstInterval -> IO ()
- fromRawInterval :: AstInterval -> IO (Interval (Symbol s))
- data Function a = Function Text [Term a]
- rawFunction :: Function (Symbol s) -> IO AstFunction
- freeFunction :: AstFunction -> IO ()
- fromRawFunction :: AstFunction -> IO (Function (Symbol s))
- data Pool a = Pool [Term a]
- rawPool :: Pool (Symbol s) -> IO AstPool
- freePool :: AstPool -> IO ()
- fromRawPool :: AstPool -> IO (Pool (Symbol s))
- data Term a
- = TermSymbol Location a
- | TermVariable Location Text
- | TermUOp Location (UnaryOperation a)
- | TermBOp Location (BinaryOperation a)
- | TermInterval Location (Interval a)
- | TermFunction Location (Function a)
- | TermExtFunction Location (Function a)
- | TermPool Location (Pool a)
- rawTerm :: Term (Symbol s) -> IO AstTerm
- freeTerm :: AstTerm -> IO ()
- fromRawTerm :: AstTerm -> IO (Term (Symbol s))
- data CspProductTerm a = CspProductTerm Location (Term a) (Maybe (Term a))
- rawCspProductTerm :: CspProductTerm (Symbol s) -> IO AstCspProductTerm
- freeCspProductTerm :: AstCspProductTerm -> IO ()
- fromRawCspProductTerm :: AstCspProductTerm -> IO (CspProductTerm (Symbol s))
- data CspSumTerm a = CspSumTerm Location [CspProductTerm a]
- rawCspSumTerm :: CspSumTerm (Symbol s) -> IO AstCspSumTerm
- freeCspSumTerm :: AstCspSumTerm -> IO ()
- fromRawCspSumTerm :: AstCspSumTerm -> IO (CspSumTerm (Symbol s))
- data CspGuard a = CspGuard ComparisonOperator (CspSumTerm a)
- rawCspGuard :: CspGuard (Symbol s) -> IO AstCspGuard
- freeCspGuard :: AstCspGuard -> IO ()
- fromRawCspGuard :: AstCspGuard -> IO (CspGuard (Symbol s))
- data ComparisonOperator
- rawComparisonOperator :: ComparisonOperator -> AstComparisonOperator
- fromRawComparisonOperator :: AstComparisonOperator -> ComparisonOperator
- data CspLiteral a = CspLiteral (CspSumTerm a) [CspGuard a]
- rawCspLiteral :: CspLiteral (Symbol s) -> IO AstCspLiteral
- freeCspLiteral :: AstCspLiteral -> IO ()
- fromRawCspLiteral :: AstCspLiteral -> IO (CspLiteral (Symbol s))
- data Identifier = Identifier Location Text
- rawIdentifier :: Identifier -> IO AstId
- freeIdentifier :: AstId -> IO ()
- fromRawIdentifier :: AstId -> IO Identifier
- data Comparison a = Comparison ComparisonOperator (Term a) (Term a)
- rawComparison :: Comparison (Symbol s) -> IO AstComparison
- freeComparison :: AstComparison -> IO ()
- fromRawComparison :: AstComparison -> IO (Comparison (Symbol s))
- data Literal a
- = LiteralBool Location Sign Bool
- | LiteralTerm Location Sign (Term a)
- | LiteralComp Location Sign (Comparison a)
- | LiteralCSPL Location Sign (CspLiteral a)
- rawLiteral :: Literal (Symbol s) -> IO AstLiteral
- freeLiteral :: AstLiteral -> IO ()
- fromRawLiteral :: AstLiteral -> IO (Literal (Symbol s))
- data AggregateGuard a = AggregateGuard ComparisonOperator (Term a)
- aguardPRight :: Pretty a => AggregateGuard a -> Doc
- aguardPLeft :: Pretty a => AggregateGuard a -> Doc
- rawAggregateGuard :: AggregateGuard (Symbol s) -> IO AstAggregateGuard
- rawAggregateGuardM :: Maybe (AggregateGuard (Symbol s)) -> IO (Ptr AstAggregateGuard)
- freeAggregateGuard :: AstAggregateGuard -> IO ()
- fromRawAggregateGuard :: AstAggregateGuard -> IO (AggregateGuard (Symbol s))
- data ConditionalLiteral a = ConditionalLiteral (Literal a) [Literal a]
- rawConditionalLiteral :: ConditionalLiteral (Symbol s) -> IO AstConditionalLiteral
- freeConditionalLiteral :: AstConditionalLiteral -> IO ()
- fromRawConditionalLiteral :: AstConditionalLiteral -> IO (ConditionalLiteral (Symbol s))
- data Aggregate a = Aggregate [ConditionalLiteral a] (Maybe (AggregateGuard a)) (Maybe (AggregateGuard a))
- rawAggregate :: Aggregate (Symbol s) -> IO AstAggregate
- freeAggregate :: AstAggregate -> IO ()
- fromRawAggregate :: AstAggregate -> IO (Aggregate (Symbol s))
- data BodyAggregateElement a = BodyAggregateElement [Term a] [Literal a]
- rawBodyAggregateElement :: BodyAggregateElement (Symbol s) -> IO AstBodyAggregateElement
- freeBodyAggregateElement :: AstBodyAggregateElement -> IO ()
- fromRawBodyAggregateElement :: AstBodyAggregateElement -> IO (BodyAggregateElement (Symbol s))
- data BodyAggregate a = BodyAggregate AggregateFunction [BodyAggregateElement a] (Maybe (AggregateGuard a)) (Maybe (AggregateGuard a))
- rawBodyAggregate :: BodyAggregate (Symbol s) -> IO AstBodyAggregate
- freeBodyAggregate :: AstBodyAggregate -> IO ()
- fromRawBodyAggregate :: AstBodyAggregate -> IO (BodyAggregate (Symbol s))
- data AggregateFunction
- rawAggregateFunction :: AggregateFunction -> AstAggregateFunction
- fromRawAggregateFunction :: AstAggregateFunction -> AggregateFunction
- data HeadAggregateElement a = HeadAggregateElement [Term a] (ConditionalLiteral a)
- rawHeadAggregateElement :: HeadAggregateElement (Symbol s) -> IO AstHeadAggregateElement
- freeHeadAggregateElement :: AstHeadAggregateElement -> IO ()
- fromRawHeadAggregateElement :: AstHeadAggregateElement -> IO (HeadAggregateElement (Symbol s))
- data HeadAggregate a = HeadAggregate AggregateFunction [HeadAggregateElement a] (Maybe (AggregateGuard a)) (Maybe (AggregateGuard a))
- rawHeadAggregate :: HeadAggregate (Symbol s) -> IO AstHeadAggregate
- freeHeadAggregate :: AstHeadAggregate -> IO ()
- fromRawHeadAggregate :: AstHeadAggregate -> IO (HeadAggregate (Symbol s))
- data Disjunction a = Disjunction [ConditionalLiteral a]
- rawDisjunction :: Disjunction (Symbol s) -> IO AstDisjunction
- freeDisjunction :: AstDisjunction -> IO ()
- fromRawDisjunction :: AstDisjunction -> IO (Disjunction (Symbol s))
- data DisjointElement a = DisjointElement Location [Term a] (CspSumTerm a) [Literal a]
- rawDisjointElement :: DisjointElement (Symbol s) -> IO AstDisjointElement
- freeDisjointElement :: AstDisjointElement -> IO ()
- fromRawDisjointElement :: AstDisjointElement -> IO (DisjointElement (Symbol s))
- data Disjoint a = Disjoint [DisjointElement a]
- rawDisjoint :: Disjoint (Symbol s) -> IO AstDisjoint
- freeDisjoint :: AstDisjoint -> IO ()
- fromRawDisjoint :: AstDisjoint -> IO (Disjoint (Symbol s))
- data TheoryTermArray a = TheoryTermArray [TheoryTerm a]
- rawTheoryTermArray :: TheoryTermArray (Symbol s) -> IO AstTheoryTermArray
- freeTheoryTermArray :: AstTheoryTermArray -> IO ()
- fromRawTheoryTermArray :: AstTheoryTermArray -> IO (TheoryTermArray (Symbol s))
- data TheoryFunction a = TheoryFunction Text [TheoryTerm a]
- rawTheoryFunction :: TheoryFunction (Symbol s) -> IO AstTheoryFunction
- freeTheoryFunction :: AstTheoryFunction -> IO ()
- fromRawTheoryFunction :: AstTheoryFunction -> IO (TheoryFunction (Symbol s))
- data TheoryUnparsedTermElement a = TheoryUnparsedTermElement [Text] (TheoryTerm a)
- rawTheoryUnparsedTermElement :: TheoryUnparsedTermElement (Symbol s) -> IO AstTheoryUnparsedTermElement
- freeTheoryUnparsedTermElement :: AstTheoryUnparsedTermElement -> IO ()
- fromRawTheoryUnparsedTermElement :: AstTheoryUnparsedTermElement -> IO (TheoryUnparsedTermElement (Symbol s))
- data TheoryUnparsedTerm a = TheoryUnparsedTerm [TheoryUnparsedTermElement a]
- rawTheoryUnparsedTerm :: TheoryUnparsedTerm (Symbol s) -> IO AstTheoryUnparsedTerm
- freeTheoryUnparsedTerm :: AstTheoryUnparsedTerm -> IO ()
- fromRawTheoryUnparsedTerm :: AstTheoryUnparsedTerm -> IO (TheoryUnparsedTerm (Symbol s))
- data TheoryTerm a
- rawTheoryTerm :: TheoryTerm (Symbol s) -> IO AstTheoryTerm
- freeTheoryTerm :: AstTheoryTerm -> IO ()
- fromRawTheoryTerm :: AstTheoryTerm -> IO (TheoryTerm (Symbol s))
- data TheoryAtomElement a = TheoryAtomElement [TheoryTerm a] [Literal a]
- rawTheoryAtomElement :: TheoryAtomElement (Symbol s) -> IO AstTheoryAtomElement
- freeTheoryAtomElement :: AstTheoryAtomElement -> IO ()
- fromRawTheoryAtomElement :: AstTheoryAtomElement -> IO (TheoryAtomElement (Symbol s))
- data TheoryGuard a = TheoryGuard Text (TheoryTerm a)
- rawTheoryGuard :: TheoryGuard (Symbol s) -> IO AstTheoryGuard
- freeTheoryGuard :: AstTheoryGuard -> IO ()
- fromRawTheoryGuard :: AstTheoryGuard -> IO (TheoryGuard (Symbol s))
- data TheoryAtom a = TheoryAtom (Term a) [TheoryAtomElement a] (TheoryGuard a)
- rawTheoryAtom :: TheoryAtom (Symbol s) -> IO AstTheoryAtom
- freeTheoryAtom :: AstTheoryAtom -> IO ()
- fromRawTheoryAtom :: AstTheoryAtom -> IO (TheoryAtom (Symbol s))
- data HeadLiteral a
- rawHeadLiteral :: HeadLiteral (Symbol s) -> IO AstHeadLiteral
- freeHeadLiteral :: AstHeadLiteral -> IO ()
- fromRawHeadLiteral :: AstHeadLiteral -> IO (HeadLiteral (Symbol s))
- data BodyLiteral a
- rawBodyLiteral :: BodyLiteral (Symbol s) -> IO AstBodyLiteral
- freeBodyLiteral :: AstBodyLiteral -> IO ()
- fromRawBodyLiteral :: AstBodyLiteral -> IO (BodyLiteral (Symbol s))
- data TheoryOperatorDefinition = TheoryOperatorDefinition Location Text Natural TheoryOperatorType
- rawTheoryOperatorDefinition :: TheoryOperatorDefinition -> IO AstTheoryOperatorDefinition
- freeTheoryOperatorDefinition :: AstTheoryOperatorDefinition -> IO ()
- fromRawTheoryOperatorDefinition :: AstTheoryOperatorDefinition -> IO TheoryOperatorDefinition
- data TheoryOperatorType
- rawTheoryOperatorType :: TheoryOperatorType -> AstTheoryOperatorType
- fromRawTheoryOperatorType :: AstTheoryOperatorType -> TheoryOperatorType
- data TheoryTermDefinition = TheoryTermDefinition Location Text [TheoryOperatorDefinition]
- rawTheoryTermDefinition :: TheoryTermDefinition -> IO AstTheoryTermDefinition
- freeTheoryTermDefinition :: AstTheoryTermDefinition -> IO ()
- fromRawTheoryTermDefinition :: AstTheoryTermDefinition -> IO TheoryTermDefinition
- data TheoryGuardDefinition = TheoryGuardDefinition Text [Text]
- rawTheoryGuardDefinition :: TheoryGuardDefinition -> IO AstTheoryGuardDefinition
- freeTheoryGuardDefinition :: AstTheoryGuardDefinition -> IO ()
- fromRawTheoryGuardDefinition :: AstTheoryGuardDefinition -> IO TheoryGuardDefinition
- data TheoryAtomDefinition = TheoryAtomDefinition Location TheoryAtomDefinitionType Text Int Text TheoryGuardDefinition
- rawTheoryAtomDefinition :: TheoryAtomDefinition -> IO AstTheoryAtomDefinition
- freeTheoryAtomDefinition :: AstTheoryAtomDefinition -> IO ()
- fromRawTheoryAtomDefinition :: AstTheoryAtomDefinition -> IO TheoryAtomDefinition
- data TheoryAtomDefinitionType
- rawTheoryAtomDefinitionType :: TheoryAtomDefinitionType -> AstTheoryAtomDefType
- fromRawTheoryAtomDefinitionType :: AstTheoryAtomDefType -> TheoryAtomDefinitionType
- data TheoryDefinition = TheoryDefinition Text [TheoryTermDefinition] [TheoryAtomDefinition]
- rawTheoryDefinition :: TheoryDefinition -> IO AstTheoryDefinition
- freeTheoryDefinition :: AstTheoryDefinition -> IO ()
- fromRawTheoryDefinition :: AstTheoryDefinition -> IO TheoryDefinition
- data Rule a = Rule (HeadLiteral a) [BodyLiteral a]
- rawRule :: Rule (Symbol s) -> IO AstRule
- freeRule :: AstRule -> IO ()
- fromRawRule :: AstRule -> IO (Rule (Symbol s))
- data Definition a = Definition Text (Term a) Bool
- rawDefinition :: Definition (Symbol s) -> IO AstDefinition
- freeDefinition :: AstDefinition -> IO ()
- fromRawDefinition :: AstDefinition -> IO (Definition (Symbol s))
- data ShowSignature b = ShowSignature b Bool
- rawShowSignature :: ShowSignature (Signature b) -> IO AstShowSignature
- freeShowSignature :: AstShowSignature -> IO ()
- fromRawShowSignature :: AstShowSignature -> IO (ShowSignature (Signature s))
- data ShowTerm a = ShowTerm (Term a) [BodyLiteral a] Bool
- rawShowTerm :: ShowTerm (Symbol s) -> IO AstShowTerm
- freeShowTerm :: AstShowTerm -> IO ()
- fromRawShowTerm :: AstShowTerm -> IO (ShowTerm (Symbol s))
- data Minimize a = Minimize (Term a) (Term a) [Term a] [BodyLiteral a]
- rawMinimize :: Minimize (Symbol s) -> IO AstMinimize
- freeMinimize :: AstMinimize -> IO ()
- fromRawMinimize :: AstMinimize -> IO (Minimize (Symbol s))
- data Script = Script ScriptType Text
- rawScript :: Script -> IO AstScript
- freeScript :: AstScript -> IO ()
- fromRawScript :: AstScript -> IO Script
- data ScriptType
- rawScriptType :: ScriptType -> AstScriptType
- fromRawScriptType :: AstScriptType -> ScriptType
- data Program = Program Text [Identifier]
- rawProgram :: Program -> IO AstProgram
- freeProgram :: AstProgram -> IO ()
- fromRawProgram :: AstProgram -> IO Program
- data External a = External (Term a) [BodyLiteral a]
- rawExternal :: External (Symbol s) -> IO AstExternal
- freeExternal :: AstExternal -> IO ()
- fromRawExternal :: AstExternal -> IO (External (Symbol s))
- data Edge a = Edge (Term a) (Term a) [BodyLiteral a]
- rawEdge :: Edge (Symbol s) -> IO AstEdge
- freeEdge :: AstEdge -> IO ()
- fromRawEdge :: AstEdge -> IO (Edge (Symbol s))
- data Heuristic a = Heuristic (Term a) [BodyLiteral a] (Term a) (Term a) (Term a)
- rawHeuristic :: Heuristic (Symbol s) -> IO AstHeuristic
- freeHeuristic :: AstHeuristic -> IO ()
- fromRawHeuristic :: AstHeuristic -> IO (Heuristic (Symbol s))
- data Project a = Project (Term a) [BodyLiteral a]
- rawProject :: Project (Symbol s) -> IO AstProject
- freeProject :: AstProject -> IO ()
- fromRawProject :: AstProject -> IO (Project (Symbol s))
- data Statement a b
- = StmtRule Location (Rule a)
- | StmtDefinition Location (Definition a)
- | StmtShowSignature Location (ShowSignature b)
- | StmtShowTerm Location (ShowTerm a)
- | StmtMinimize Location (Minimize a)
- | StmtScript Location Script
- | StmtProgram Location Program
- | StmtExternal Location (External a)
- | StmtEdge Location (Edge a)
- | StmtHeuristic Location (Heuristic a)
- | StmtProject Location (Project a)
- | StmtSignature Location b
- | StmtTheoryDefinition Location TheoryDefinition
- rawStatement :: Statement (Symbol s) (Signature s) -> IO AstStatement
- freeStatement :: AstStatement -> IO ()
- fromRawStatement :: AstStatement -> IO (Statement (Symbol s) (Signature s))
Documentation
fromRawSign :: AstSign -> Sign Source #
data UnaryOperation a Source #
Functor UnaryOperation Source # | |
Foldable UnaryOperation Source # | |
Traversable UnaryOperation Source # | |
Eq a => Eq (UnaryOperation a) Source # | |
Ord a => Ord (UnaryOperation a) Source # | |
Show a => Show (UnaryOperation a) Source # | |
Pretty a => Pretty (UnaryOperation a) Source # | |
rawUnaryOperation :: UnaryOperation (Symbol s) -> IO AstUnaryOperation Source #
freeUnaryOperation :: AstUnaryOperation -> IO () Source #
fromRawUnaryOperation :: AstUnaryOperation -> IO (UnaryOperation (Symbol s)) Source #
data UnaryOperator Source #
data BinaryOperation a Source #
BinaryOperation BinaryOperator (Term a) (Term a) |
Functor BinaryOperation Source # | |
Foldable BinaryOperation Source # | |
Traversable BinaryOperation Source # | |
Eq a => Eq (BinaryOperation a) Source # | |
Ord a => Ord (BinaryOperation a) Source # | |
Show a => Show (BinaryOperation a) Source # | |
Pretty a => Pretty (BinaryOperation a) Source # | |
freeBinaryOperation :: AstBinaryOperation -> IO () Source #
fromRawBinaryOperation :: AstBinaryOperation -> IO (BinaryOperation (Symbol s)) Source #
data BinaryOperator Source #
rawInterval :: Interval (Symbol s) -> IO AstInterval Source #
freeInterval :: AstInterval -> IO () Source #
fromRawInterval :: AstInterval -> IO (Interval (Symbol s)) Source #
rawFunction :: Function (Symbol s) -> IO AstFunction Source #
freeFunction :: AstFunction -> IO () Source #
fromRawFunction :: AstFunction -> IO (Function (Symbol s)) Source #
data CspProductTerm a Source #
CspProductTerm Location (Term a) (Maybe (Term a)) |
Functor CspProductTerm Source # | |
Foldable CspProductTerm Source # | |
Traversable CspProductTerm Source # | |
Eq a => Eq (CspProductTerm a) Source # | |
Ord a => Ord (CspProductTerm a) Source # | |
Show a => Show (CspProductTerm a) Source # | |
rawCspProductTerm :: CspProductTerm (Symbol s) -> IO AstCspProductTerm Source #
freeCspProductTerm :: AstCspProductTerm -> IO () Source #
fromRawCspProductTerm :: AstCspProductTerm -> IO (CspProductTerm (Symbol s)) Source #
data CspSumTerm a Source #
Functor CspSumTerm Source # | |
Foldable CspSumTerm Source # | |
Traversable CspSumTerm Source # | |
Eq a => Eq (CspSumTerm a) Source # | |
Ord a => Ord (CspSumTerm a) Source # | |
Show a => Show (CspSumTerm a) Source # | |
rawCspSumTerm :: CspSumTerm (Symbol s) -> IO AstCspSumTerm Source #
freeCspSumTerm :: AstCspSumTerm -> IO () Source #
fromRawCspSumTerm :: AstCspSumTerm -> IO (CspSumTerm (Symbol s)) Source #
rawCspGuard :: CspGuard (Symbol s) -> IO AstCspGuard Source #
freeCspGuard :: AstCspGuard -> IO () Source #
fromRawCspGuard :: AstCspGuard -> IO (CspGuard (Symbol s)) Source #
data ComparisonOperator Source #
data CspLiteral a Source #
CspLiteral (CspSumTerm a) [CspGuard a] |
Functor CspLiteral Source # | |
Foldable CspLiteral Source # | |
Traversable CspLiteral Source # | |
Eq a => Eq (CspLiteral a) Source # | |
Ord a => Ord (CspLiteral a) Source # | |
Show a => Show (CspLiteral a) Source # | |
rawCspLiteral :: CspLiteral (Symbol s) -> IO AstCspLiteral Source #
freeCspLiteral :: AstCspLiteral -> IO () Source #
fromRawCspLiteral :: AstCspLiteral -> IO (CspLiteral (Symbol s)) Source #
data Identifier Source #
rawIdentifier :: Identifier -> IO AstId Source #
freeIdentifier :: AstId -> IO () Source #
fromRawIdentifier :: AstId -> IO Identifier Source #
data Comparison a Source #
Comparison ComparisonOperator (Term a) (Term a) |
Functor Comparison Source # | |
Foldable Comparison Source # | |
Traversable Comparison Source # | |
Eq a => Eq (Comparison a) Source # | |
Ord a => Ord (Comparison a) Source # | |
Show a => Show (Comparison a) Source # | |
Pretty a => Pretty (Comparison a) Source # | |
rawComparison :: Comparison (Symbol s) -> IO AstComparison Source #
freeComparison :: AstComparison -> IO () Source #
fromRawComparison :: AstComparison -> IO (Comparison (Symbol s)) Source #
rawLiteral :: Literal (Symbol s) -> IO AstLiteral Source #
freeLiteral :: AstLiteral -> IO () Source #
fromRawLiteral :: AstLiteral -> IO (Literal (Symbol s)) Source #
data AggregateGuard a Source #
Functor AggregateGuard Source # | |
Foldable AggregateGuard Source # | |
Traversable AggregateGuard Source # | |
Eq a => Eq (AggregateGuard a) Source # | |
Ord a => Ord (AggregateGuard a) Source # | |
Show a => Show (AggregateGuard a) Source # | |
Pretty a => Pretty (AggregateGuard a) Source # | Instance describing left-guards. |
aguardPRight :: Pretty a => AggregateGuard a -> Doc Source #
aguardPLeft :: Pretty a => AggregateGuard a -> Doc Source #
rawAggregateGuard :: AggregateGuard (Symbol s) -> IO AstAggregateGuard Source #
rawAggregateGuardM :: Maybe (AggregateGuard (Symbol s)) -> IO (Ptr AstAggregateGuard) Source #
freeAggregateGuard :: AstAggregateGuard -> IO () Source #
fromRawAggregateGuard :: AstAggregateGuard -> IO (AggregateGuard (Symbol s)) Source #
data ConditionalLiteral a Source #
ConditionalLiteral (Literal a) [Literal a] |
Functor ConditionalLiteral Source # | |
Foldable ConditionalLiteral Source # | |
Traversable ConditionalLiteral Source # | |
Eq a => Eq (ConditionalLiteral a) Source # | |
Ord a => Ord (ConditionalLiteral a) Source # | |
Show a => Show (ConditionalLiteral a) Source # | |
Pretty a => Pretty (ConditionalLiteral a) Source # | |
freeConditionalLiteral :: AstConditionalLiteral -> IO () Source #
Aggregate [ConditionalLiteral a] (Maybe (AggregateGuard a)) (Maybe (AggregateGuard a)) |
rawAggregate :: Aggregate (Symbol s) -> IO AstAggregate Source #
freeAggregate :: AstAggregate -> IO () Source #
fromRawAggregate :: AstAggregate -> IO (Aggregate (Symbol s)) Source #
data BodyAggregateElement a Source #
BodyAggregateElement [Term a] [Literal a] |
Functor BodyAggregateElement Source # | |
Foldable BodyAggregateElement Source # | |
Traversable BodyAggregateElement Source # | |
Eq a => Eq (BodyAggregateElement a) Source # | |
Ord a => Ord (BodyAggregateElement a) Source # | |
Show a => Show (BodyAggregateElement a) Source # | |
Pretty a => Pretty (BodyAggregateElement a) Source # | |
fromRawBodyAggregateElement :: AstBodyAggregateElement -> IO (BodyAggregateElement (Symbol s)) Source #
data BodyAggregate a Source #
BodyAggregate AggregateFunction [BodyAggregateElement a] (Maybe (AggregateGuard a)) (Maybe (AggregateGuard a)) |
Functor BodyAggregate Source # | |
Foldable BodyAggregate Source # | |
Traversable BodyAggregate Source # | |
Eq a => Eq (BodyAggregate a) Source # | |
Ord a => Ord (BodyAggregate a) Source # | |
Show a => Show (BodyAggregate a) Source # | |
Pretty a => Pretty (BodyAggregate a) Source # | |
rawBodyAggregate :: BodyAggregate (Symbol s) -> IO AstBodyAggregate Source #
freeBodyAggregate :: AstBodyAggregate -> IO () Source #
fromRawBodyAggregate :: AstBodyAggregate -> IO (BodyAggregate (Symbol s)) Source #
data AggregateFunction Source #
data HeadAggregateElement a Source #
Functor HeadAggregateElement Source # | |
Foldable HeadAggregateElement Source # | |
Traversable HeadAggregateElement Source # | |
Eq a => Eq (HeadAggregateElement a) Source # | |
Ord a => Ord (HeadAggregateElement a) Source # | |
Show a => Show (HeadAggregateElement a) Source # | |
Pretty a => Pretty (HeadAggregateElement a) Source # | |
fromRawHeadAggregateElement :: AstHeadAggregateElement -> IO (HeadAggregateElement (Symbol s)) Source #
data HeadAggregate a Source #
HeadAggregate AggregateFunction [HeadAggregateElement a] (Maybe (AggregateGuard a)) (Maybe (AggregateGuard a)) |
Functor HeadAggregate Source # | |
Foldable HeadAggregate Source # | |
Traversable HeadAggregate Source # | |
Eq a => Eq (HeadAggregate a) Source # | |
Ord a => Ord (HeadAggregate a) Source # | |
Show a => Show (HeadAggregate a) Source # | |
Pretty a => Pretty (HeadAggregate a) Source # | |
rawHeadAggregate :: HeadAggregate (Symbol s) -> IO AstHeadAggregate Source #
freeHeadAggregate :: AstHeadAggregate -> IO () Source #
fromRawHeadAggregate :: AstHeadAggregate -> IO (HeadAggregate (Symbol s)) Source #
data Disjunction a Source #
Functor Disjunction Source # | |
Foldable Disjunction Source # | |
Traversable Disjunction Source # | |
Eq a => Eq (Disjunction a) Source # | |
Ord a => Ord (Disjunction a) Source # | |
Show a => Show (Disjunction a) Source # | |
Pretty a => Pretty (Disjunction a) Source # | |
rawDisjunction :: Disjunction (Symbol s) -> IO AstDisjunction Source #
freeDisjunction :: AstDisjunction -> IO () Source #
fromRawDisjunction :: AstDisjunction -> IO (Disjunction (Symbol s)) Source #
data DisjointElement a Source #
DisjointElement Location [Term a] (CspSumTerm a) [Literal a] |
Functor DisjointElement Source # | |
Foldable DisjointElement Source # | |
Traversable DisjointElement Source # | |
Eq a => Eq (DisjointElement a) Source # | |
Ord a => Ord (DisjointElement a) Source # | |
Show a => Show (DisjointElement a) Source # | |
freeDisjointElement :: AstDisjointElement -> IO () Source #
fromRawDisjointElement :: AstDisjointElement -> IO (DisjointElement (Symbol s)) Source #
rawDisjoint :: Disjoint (Symbol s) -> IO AstDisjoint Source #
freeDisjoint :: AstDisjoint -> IO () Source #
fromRawDisjoint :: AstDisjoint -> IO (Disjoint (Symbol s)) Source #
data TheoryTermArray a Source #
Functor TheoryTermArray Source # | |
Foldable TheoryTermArray Source # | |
Traversable TheoryTermArray Source # | |
Eq a => Eq (TheoryTermArray a) Source # | |
Ord a => Ord (TheoryTermArray a) Source # | |
Show a => Show (TheoryTermArray a) Source # | |
freeTheoryTermArray :: AstTheoryTermArray -> IO () Source #
fromRawTheoryTermArray :: AstTheoryTermArray -> IO (TheoryTermArray (Symbol s)) Source #
data TheoryFunction a Source #
Functor TheoryFunction Source # | |
Foldable TheoryFunction Source # | |
Traversable TheoryFunction Source # | |
Eq a => Eq (TheoryFunction a) Source # | |
Ord a => Ord (TheoryFunction a) Source # | |
Show a => Show (TheoryFunction a) Source # | |
rawTheoryFunction :: TheoryFunction (Symbol s) -> IO AstTheoryFunction Source #
freeTheoryFunction :: AstTheoryFunction -> IO () Source #
fromRawTheoryFunction :: AstTheoryFunction -> IO (TheoryFunction (Symbol s)) Source #
data TheoryUnparsedTermElement a Source #
rawTheoryUnparsedTermElement :: TheoryUnparsedTermElement (Symbol s) -> IO AstTheoryUnparsedTermElement Source #
fromRawTheoryUnparsedTermElement :: AstTheoryUnparsedTermElement -> IO (TheoryUnparsedTermElement (Symbol s)) Source #
data TheoryUnparsedTerm a Source #
Functor TheoryUnparsedTerm Source # | |
Foldable TheoryUnparsedTerm Source # | |
Traversable TheoryUnparsedTerm Source # | |
Eq a => Eq (TheoryUnparsedTerm a) Source # | |
Ord a => Ord (TheoryUnparsedTerm a) Source # | |
Show a => Show (TheoryUnparsedTerm a) Source # | |
freeTheoryUnparsedTerm :: AstTheoryUnparsedTerm -> IO () Source #
data TheoryTerm a Source #
Functor TheoryTerm Source # | |
Foldable TheoryTerm Source # | |
Traversable TheoryTerm Source # | |
Eq a => Eq (TheoryTerm a) Source # | |
Ord a => Ord (TheoryTerm a) Source # | |
Show a => Show (TheoryTerm a) Source # | |
rawTheoryTerm :: TheoryTerm (Symbol s) -> IO AstTheoryTerm Source #
freeTheoryTerm :: AstTheoryTerm -> IO () Source #
fromRawTheoryTerm :: AstTheoryTerm -> IO (TheoryTerm (Symbol s)) Source #
data TheoryAtomElement a Source #
TheoryAtomElement [TheoryTerm a] [Literal a] |
Functor TheoryAtomElement Source # | |
Foldable TheoryAtomElement Source # | |
Traversable TheoryAtomElement Source # | |
Eq a => Eq (TheoryAtomElement a) Source # | |
Ord a => Ord (TheoryAtomElement a) Source # | |
Show a => Show (TheoryAtomElement a) Source # | |
freeTheoryAtomElement :: AstTheoryAtomElement -> IO () Source #
data TheoryGuard a Source #
Functor TheoryGuard Source # | |
Foldable TheoryGuard Source # | |
Traversable TheoryGuard Source # | |
Eq a => Eq (TheoryGuard a) Source # | |
Ord a => Ord (TheoryGuard a) Source # | |
Show a => Show (TheoryGuard a) Source # | |
rawTheoryGuard :: TheoryGuard (Symbol s) -> IO AstTheoryGuard Source #
freeTheoryGuard :: AstTheoryGuard -> IO () Source #
fromRawTheoryGuard :: AstTheoryGuard -> IO (TheoryGuard (Symbol s)) Source #
data TheoryAtom a Source #
TheoryAtom (Term a) [TheoryAtomElement a] (TheoryGuard a) |
Functor TheoryAtom Source # | |
Foldable TheoryAtom Source # | |
Traversable TheoryAtom Source # | |
Eq a => Eq (TheoryAtom a) Source # | |
Ord a => Ord (TheoryAtom a) Source # | |
Show a => Show (TheoryAtom a) Source # | |
rawTheoryAtom :: TheoryAtom (Symbol s) -> IO AstTheoryAtom Source #
freeTheoryAtom :: AstTheoryAtom -> IO () Source #
fromRawTheoryAtom :: AstTheoryAtom -> IO (TheoryAtom (Symbol s)) Source #
data HeadLiteral a Source #
HeadLiteral Location (Literal a) | |
HeadDisjunction Location (Disjunction a) | |
HeadLitAggregate Location (Aggregate a) | |
HeadHeadAggregate Location (HeadAggregate a) | |
HeadTheoryAtom Location (TheoryAtom a) |
Functor HeadLiteral Source # | |
Foldable HeadLiteral Source # | |
Traversable HeadLiteral Source # | |
Eq a => Eq (HeadLiteral a) Source # | |
Ord a => Ord (HeadLiteral a) Source # | |
Show a => Show (HeadLiteral a) Source # | |
Pretty a => Pretty (HeadLiteral a) Source # | |
rawHeadLiteral :: HeadLiteral (Symbol s) -> IO AstHeadLiteral Source #
freeHeadLiteral :: AstHeadLiteral -> IO () Source #
fromRawHeadLiteral :: AstHeadLiteral -> IO (HeadLiteral (Symbol s)) Source #
data BodyLiteral a Source #
Functor BodyLiteral Source # | |
Foldable BodyLiteral Source # | |
Traversable BodyLiteral Source # | |
Eq a => Eq (BodyLiteral a) Source # | |
Ord a => Ord (BodyLiteral a) Source # | |
Show a => Show (BodyLiteral a) Source # | |
Pretty a => Pretty (BodyLiteral a) Source # | |
rawBodyLiteral :: BodyLiteral (Symbol s) -> IO AstBodyLiteral Source #
freeBodyLiteral :: AstBodyLiteral -> IO () Source #
fromRawBodyLiteral :: AstBodyLiteral -> IO (BodyLiteral (Symbol s)) Source #
fromRawTheoryOperatorDefinition :: AstTheoryOperatorDefinition -> IO TheoryOperatorDefinition Source #
data TheoryOperatorType Source #
data TheoryTermDefinition Source #
data TheoryGuardDefinition Source #
data TheoryAtomDefinition Source #
data TheoryDefinition Source #
freeTheoryDefinition :: AstTheoryDefinition -> IO () Source #
Rule (HeadLiteral a) [BodyLiteral a] |
data Definition a Source #
Definition Text (Term a) Bool |
Functor Definition Source # | |
Foldable Definition Source # | |
Traversable Definition Source # | |
Eq a => Eq (Definition a) Source # | |
Ord a => Ord (Definition a) Source # | |
Show a => Show (Definition a) Source # | |
rawDefinition :: Definition (Symbol s) -> IO AstDefinition Source #
freeDefinition :: AstDefinition -> IO () Source #
fromRawDefinition :: AstDefinition -> IO (Definition (Symbol s)) Source #
data ShowSignature b Source #
Functor ShowSignature Source # | |
Foldable ShowSignature Source # | |
Traversable ShowSignature Source # | |
Eq b => Eq (ShowSignature b) Source # | |
Ord b => Ord (ShowSignature b) Source # | |
Show b => Show (ShowSignature b) Source # | |
rawShowSignature :: ShowSignature (Signature b) -> IO AstShowSignature Source #
freeShowSignature :: AstShowSignature -> IO () Source #
fromRawShowSignature :: AstShowSignature -> IO (ShowSignature (Signature s)) Source #
ShowTerm (Term a) [BodyLiteral a] Bool |
rawShowTerm :: ShowTerm (Symbol s) -> IO AstShowTerm Source #
freeShowTerm :: AstShowTerm -> IO () Source #
fromRawShowTerm :: AstShowTerm -> IO (ShowTerm (Symbol s)) Source #
Minimize (Term a) (Term a) [Term a] [BodyLiteral a] |
rawMinimize :: Minimize (Symbol s) -> IO AstMinimize Source #
freeMinimize :: AstMinimize -> IO () Source #
fromRawMinimize :: AstMinimize -> IO (Minimize (Symbol s)) Source #
freeScript :: AstScript -> IO () Source #
data ScriptType Source #
rawProgram :: Program -> IO AstProgram Source #
freeProgram :: AstProgram -> IO () Source #
fromRawProgram :: AstProgram -> IO Program Source #
External (Term a) [BodyLiteral a] |
rawExternal :: External (Symbol s) -> IO AstExternal Source #
freeExternal :: AstExternal -> IO () Source #
fromRawExternal :: AstExternal -> IO (External (Symbol s)) Source #
Edge (Term a) (Term a) [BodyLiteral a] |
rawHeuristic :: Heuristic (Symbol s) -> IO AstHeuristic Source #
freeHeuristic :: AstHeuristic -> IO () Source #
fromRawHeuristic :: AstHeuristic -> IO (Heuristic (Symbol s)) Source #
Project (Term a) [BodyLiteral a] |
rawProject :: Project (Symbol s) -> IO AstProject Source #
freeProject :: AstProject -> IO () Source #
fromRawProject :: AstProject -> IO (Project (Symbol s)) Source #
Bifunctor Statement Source # | |
Bitraversable Statement Source # | |
Bifoldable Statement Source # | |
Functor (Statement a) Source # | |
Foldable (Statement a) Source # | |
Traversable (Statement a) Source # | |
(Eq b, Eq a) => Eq (Statement a b) Source # | |
(Ord b, Ord a) => Ord (Statement a b) Source # | |
(Show b, Show a) => Show (Statement a b) Source # | |
(Pretty a, Pretty b) => Pretty (Statement a b) Source # | |
rawStatement :: Statement (Symbol s) (Signature s) -> IO AstStatement Source #
freeStatement :: AstStatement -> IO () Source #
fromRawStatement :: AstStatement -> IO (Statement (Symbol s) (Signature s)) Source #