Copyright | (c) Hendrik Iben, Uni Bremen 2005-2007 |
---|---|
License | GPLv2 or higher, see LICENSE.txt |
Maintainer | hiben@informatik.uni-bremen.de |
Stability | provisional |
Portability | non-portable |
Safe Haskell | Safe-Inferred |
Model of a handpicked subset from OMDoc
- omdocDefaultNamespace :: String
- type OMDocRef = IRI
- type OMDocRefs = [OMDocRef]
- showIRI :: IRI -> String
- mkOMDocRef :: String -> Maybe OMDocRef
- mkSymbolRef :: XmlId -> OMDocRef
- mkExtSymbolRef :: XmlId -> XmlId -> OMDocRef
- type XmlId = String
- type XmlString = String
- data OMDoc = OMDoc {
- omdocId :: XmlId
- omdocTheories :: [Theory]
- omdocInclusions :: [Inclusion]
- addTheories :: OMDoc -> [Theory] -> OMDoc
- addInclusions :: OMDoc -> [Inclusion] -> OMDoc
- data Theory = Theory {}
- showTheory :: Theory -> String
- data ImportsType
- data Imports = Imports {}
- data Presentation = Presentation {}
- mkPresentationS :: XmlId -> XmlString -> [Use] -> Presentation
- mkPresentation :: XmlId -> [Use] -> Presentation
- addUse :: Presentation -> Use -> Presentation
- data Use = Use {}
- mkUse :: XmlString -> String -> Use
- data SymbolRole
- data Symbol = Symbol {}
- mkSymbolE :: Maybe XmlId -> XmlId -> SymbolRole -> Maybe Type -> Symbol
- mkSymbol :: XmlId -> SymbolRole -> Symbol
- data Type = Type {}
- mkType :: Maybe OMDocRef -> OMDocMathObject -> Type
- data Constitutive
- mkCAx :: Axiom -> Constitutive
- mkCDe :: Definition -> Constitutive
- mkCSy :: Symbol -> Constitutive
- mkCIm :: Imports -> Constitutive
- mkCAd :: ADT -> Constitutive
- mkCCo :: String -> Constitutive -> Constitutive
- isAxiom :: Constitutive -> Bool
- isDefinition :: Constitutive -> Bool
- isSymbol :: Constitutive -> Bool
- isImports :: Constitutive -> Bool
- isADT :: Constitutive -> Bool
- isCommented :: Constitutive -> Bool
- getIdsForPresentation :: Constitutive -> [XmlId]
- data Axiom = Axiom {}
- mkAxiom :: XmlId -> [CMP] -> [FMP] -> Axiom
- data CMP = CMP {
- cmpContent :: MText
- mkCMP :: MText -> CMP
- data FMP = FMP {
- fmpLogic :: Maybe XmlString
- fmpContent :: Either OMObject ([Assumption], [Conclusion])
- data Assumption = Assumption
- data Conclusion = Conclusion
- data Definition = Definition {
- definitionId :: XmlId
- definitionCMPs :: [CMP]
- definitionFMPs :: [FMP]
- mkDefinition :: XmlId -> [CMP] -> [FMP] -> Definition
- data ADT = ADT {
- adtId :: Maybe XmlId
- adtSortDefs :: [SortDef]
- data SortType
- = STFree
- | STGenerated
- | STLoose
- mkADT :: [SortDef] -> ADT
- mkADTEx :: Maybe XmlId -> [SortDef] -> ADT
- data SortDef = SortDef {}
- mkSortDefE :: XmlId -> SymbolRole -> SortType -> [Constructor] -> [Insort] -> [Recognizer] -> SortDef
- mkSortDef :: XmlId -> [Constructor] -> [Insort] -> [Recognizer] -> SortDef
- data Constructor = Constructor {}
- mkConstructorE :: XmlId -> SymbolRole -> [Type] -> Constructor
- mkConstructor :: XmlId -> [Type] -> Constructor
- data Insort = Insort {}
- mkInsort :: OMDocRef -> Insort
- data Recognizer = Recognizer {}
- mkRecognizer :: XmlId -> Recognizer
- data Conservativity
- data Inclusion
- = TheoryInclusion { }
- | AxiomInclusion { }
- data Morphism = Morphism {
- morphismId :: Maybe XmlId
- morphismHiding :: [XmlId]
- morphismBase :: [XmlId]
- morphismRequations :: [(MText, MText)]
- data MText
- data OMDocMathObject
- data OMObject = OMObject OMElement
- mkOMOBJ :: OMElementClass e => e -> OMObject
- data OMSymbol = OMS {}
- mkOMS :: Maybe OMDocRef -> XmlId -> XmlId -> OMSymbol
- mkOMSE :: Maybe OMDocRef -> XmlId -> XmlId -> OMElement
- data OMInteger = OMI {}
- mkOMI :: Int -> OMInteger
- mkOMIE :: Int -> OMElement
- data OMVariable
- class OMVariableClass a where
- toVariable :: a -> OMVariable
- fromVariable :: OMVariable -> Maybe a
- mkOMVar :: Either OMSimpleVariable OMAttribution -> OMVariable
- mkOMVarE :: Either OMSimpleVariable OMAttribution -> OMElement
- data OMSimpleVariable = OMV {}
- mkOMSimpleVar :: XmlString -> OMSimpleVariable
- mkOMSimpleVarE :: XmlString -> OMElement
- mkOMVSVar :: XmlString -> OMVariable
- mkOMVSVarE :: XmlString -> OMElement
- data OMAttribution = OMATTR {}
- mkOMATTR :: OMElementClass e => OMAttributionPart -> e -> OMAttribution
- mkOMATTRE :: OMElementClass e => OMAttributionPart -> e -> OMElement
- data OMAttributionPart = OMATP {
- omatpAttribs :: [(OMSymbol, OMElement)]
- mkOMATP :: OMElementClass e => [(OMSymbol, e)] -> OMAttributionPart
- data OMBindingVariables = OMBVAR {
- ombvarVars :: [OMVariable]
- mkOMBVAR :: OMVariableClass e => [e] -> OMBindingVariables
- data OMBase64 = OMB {
- ombContent :: [Word8]
- mkOMB :: [Word8] -> OMBase64
- mkOMBE :: [Word8] -> OMElement
- mkOMBWords :: [Word8] -> OMBase64
- mkOMBWordsE :: [Word8] -> OMElement
- getOMBWords :: OMBase64 -> [Word8]
- data OMString = OMSTR {}
- mkOMSTR :: String -> OMString
- mkOMSTRE :: String -> OMElement
- data OMFloat = OMF {}
- mkOMF :: Float -> OMFloat
- mkOMFE :: Float -> OMElement
- data OMApply = OMA {
- omaElements :: [OMElement]
- mkOMA :: OMElementClass e => [e] -> OMApply
- mkOMAE :: OMElementClass e => [e] -> OMElement
- data OMError = OME {}
- mkOME :: OMElementClass e => OMSymbol -> [e] -> OMError
- mkOMEE :: OMElementClass e => OMSymbol -> [e] -> OMElement
- data OMReference = OMR {}
- mkOMR :: IRI -> OMReference
- mkOMRE :: IRI -> OMElement
- data OMBind = OMBIND {}
- mkOMBIND :: (OMElementClass e1, OMElementClass e2) => e1 -> OMBindingVariables -> e2 -> OMBind
- mkOMBINDE :: (OMElementClass e1, OMElementClass e2) => e1 -> OMBindingVariables -> e2 -> OMElement
- data OMElement
- mkOMComment :: String -> OMElement
- mkOMCommented :: OMElementClass e => String -> e -> OMElement
- class OMElementClass a where
- toElement :: a -> OMElement
- fromElement :: OMElement -> Maybe a
Documentation
mkOMDocRef :: String -> Maybe OMDocRef
mkSymbolRef :: XmlId -> OMDocRef
mkExtSymbolRef :: XmlId -> XmlId -> OMDocRef
addTheories :: OMDoc -> [Theory] -> OMDoc
addInclusions :: OMDoc -> [Inclusion] -> OMDoc
data Theory
Eq Theory | |
Data Theory | |
Ord Theory | |
Show Theory | |
ShATermConvertible Theory | |
Pretty Theory | |
Typeable * Theory | |
Category OMDoc_Sign OMDoc_Morphism | |
Sentences OMDoc_PUN () OMDoc_Sign OMDoc_Morphism Symbol | |
StaticAnalysis OMDoc_PUN () () () () OMDoc_Sign OMDoc_Morphism Symbol () | |
Logic OMDoc_PUN () () () () () OMDoc_Sign OMDoc_Morphism Symbol () () |
showTheory :: Theory -> String
data ImportsType
Type (scope) of import
mkPresentationS :: XmlId -> XmlString -> [Use] -> Presentation
mkPresentation :: XmlId -> [Use] -> Presentation
addUse :: Presentation -> Use -> Presentation
data Use
Use for Presentation
data SymbolRole
SymbolRole for Symbol
data Symbol
Symbol
Symbol | |
|
Eq Symbol | |
Data Symbol | |
Ord Symbol | |
Show Symbol | |
ShATermConvertible Symbol | |
GetRange Symbol | |
Pretty Symbol | |
Typeable * Symbol | |
Sentences OMDoc_PUN () OMDoc_Sign OMDoc_Morphism Symbol | |
Syntax OMDoc_PUN () Symbol () () | |
StaticAnalysis OMDoc_PUN () () () () OMDoc_Sign OMDoc_Morphism Symbol () | |
Logic OMDoc_PUN () () () () () OMDoc_Sign OMDoc_Morphism Symbol () () |
mkSymbol :: XmlId -> SymbolRole -> Symbol
data Type
Type
mkType :: Maybe OMDocRef -> OMDocMathObject -> Type
data Constitutive
OMDoc Theory constitutive elements + convenience additions (ADT)
mkCAx :: Axiom -> Constitutive
mkCDe :: Definition -> Constitutive
mkCSy :: Symbol -> Constitutive
mkCIm :: Imports -> Constitutive
mkCAd :: ADT -> Constitutive
mkCCo :: String -> Constitutive -> Constitutive
isAxiom :: Constitutive -> Bool
isDefinition :: Constitutive -> Bool
isSymbol :: Constitutive -> Bool
isImports :: Constitutive -> Bool
isADT :: Constitutive -> Bool
isCommented :: Constitutive -> Bool
getIdsForPresentation :: Constitutive -> [XmlId]
data Axiom
Axiom
data FMP
FMP
FMP | |
|
data Assumption
Assumption (incomplete)
data Conclusion
data Definition
Definition (incomplete)
Definition | |
|
mkDefinition :: XmlId -> [CMP] -> [FMP] -> Definition
data ADT
ADT
data SortType
data SortDef
SortDef
SortDef | |
|
mkSortDefE :: XmlId -> SymbolRole -> SortType -> [Constructor] -> [Insort] -> [Recognizer] -> SortDef
mkSortDef :: XmlId -> [Constructor] -> [Insort] -> [Recognizer] -> SortDef
data Constructor
Constructor
mkConstructorE :: XmlId -> SymbolRole -> [Type] -> Constructor
mkConstructor :: XmlId -> [Type] -> Constructor
data Insort
Insort
data Recognizer
Recognizer
mkRecognizer :: XmlId -> Recognizer
data Conservativity
Inclusion-Conservativity
data Inclusion
Inclusions
Eq Inclusion | |
Data Inclusion | |
Ord Inclusion | |
Show Inclusion | |
ShATermConvertible Inclusion | |
Pretty Inclusion | |
Typeable * Inclusion | |
Category OMDoc_Sign OMDoc_Morphism | |
Sentences OMDoc_PUN () OMDoc_Sign OMDoc_Morphism Symbol | |
StaticAnalysis OMDoc_PUN () () () () OMDoc_Sign OMDoc_Morphism Symbol () | |
Logic OMDoc_PUN () () () () () OMDoc_Sign OMDoc_Morphism Symbol () () |
data Morphism
OMDoc Morphism
Morphism | |
|
data MText
data OMDocMathObject
data OMObject
OMOBJ
mkOMOBJ :: OMElementClass e => e -> OMObject
data OMSymbol
OMS
data OMInteger
OMI
data OMVariable
A Variable can be a OMV or an OMATTR
class OMVariableClass a where
Class to use something as a Variable
toVariable :: a -> OMVariable
fromVariable :: OMVariable -> Maybe a
data OMSimpleVariable
OMV
mkOMSimpleVarE :: XmlString -> OMElement
mkOMVSVar :: XmlString -> OMVariable
mkOMVSVarE :: XmlString -> OMElement
data OMAttribution
OMATTR
mkOMATTR :: OMElementClass e => OMAttributionPart -> e -> OMAttribution
mkOMATTRE :: OMElementClass e => OMAttributionPart -> e -> OMElement
mkOMATP :: OMElementClass e => [(OMSymbol, e)] -> OMAttributionPart
mkOMBVAR :: OMVariableClass e => [e] -> OMBindingVariables
data OMBase64
OMB is actually just a bytearray for storing data. [Char] representation is forced by export from Codec.Base64
OMB | |
|
mkOMBWords :: [Word8] -> OMBase64
mkOMBWordsE :: [Word8] -> OMElement
getOMBWords :: OMBase64 -> [Word8]
data OMString
OMSTR
data OMFloat
OMF
mkOMA :: OMElementClass e => [e] -> OMApply
mkOMAE :: OMElementClass e => [e] -> OMElement
data OMError
OME
mkOME :: OMElementClass e => OMSymbol -> [e] -> OMError
mkOMEE :: OMElementClass e => OMSymbol -> [e] -> OMElement
data OMReference
OMR
mkOMR :: IRI -> OMReference
mkOMBIND :: (OMElementClass e1, OMElementClass e2) => e1 -> OMBindingVariables -> e2 -> OMBind
mkOMBINDE :: (OMElementClass e1, OMElementClass e2) => e1 -> OMBindingVariables -> e2 -> OMElement
data OMElement
Elements for Open Math
mkOMComment :: String -> OMElement
insert a comment into an open-math structure (use with caution...)
mkOMCommented :: OMElementClass e => String -> e -> OMElement
class OMElementClass a where
Class of Elements for Open Math
fromElement :: OMElement -> Maybe a