Copyright | (c) Dominik Dietrich, DFKI Bremen 2010 |
---|---|
License | GPLv2 or higher, see LICENSE.txt |
Maintainer | dominik.dietrich@dfki.de |
Stability | experimental |
Portability | portable |
Safe Haskell | Safe-Inferred |
Types and functions for EnCL logic signatures
- data Sign = Sign (Map Token OpType) (Map Token (Maybe APInt)) (Map Token EPDecl)
- opIds :: Sign -> Set Id
- data OpType = OpType {}
- pretty :: Pretty a => a -> Doc
- isLegalSignature :: Sign -> Bool
- addToSig :: Sign -> Token -> OpType -> Sign
- unite :: Sign -> Sign -> Sign
- emptySig :: Sign
- isSubSigOf :: Sign -> Sign -> Bool
- sigDiff :: Sign -> Sign -> Sign
- sigUnion :: Sign -> Sign -> Result Sign
- lookupSym :: Sign -> Id -> Bool
- optypeFromArity :: Int -> OpType
- addEPDefValToSig :: Sign -> Token -> APInt -> Sign
- addEPDeclToSig :: Sign -> Token -> EPDomain -> Sign
- addEPDomVarDeclToSig :: Sign -> Token -> APInt -> Sign
Documentation
data Sign
Datatype for EnCL Signatures Signatures are just sets of Tokens for the operators
Eq Sign | |
Data Sign | |
Ord Sign | |
Show Sign | |
ShATermConvertible Sign | |
Pretty Sign | |
Typeable * Sign | |
Category Sign Morphism | Instance of Category for CSL logic |
Sentences CSL CMD Sign Morphism Symbol | Instance of Sentences for reduce logic |
StaticAnalysis CSL BASIC_SPEC CMD SYMB_ITEMS SYMB_MAP_ITEMS Sign Morphism Symbol Symbol | Static Analysis for reduce logic |
Logic CSL () BASIC_SPEC CMD SYMB_ITEMS SYMB_MAP_ITEMS Sign Morphism Symbol Symbol [EXPRESSION] | Instance of Logic for reduce logc |
data OpType
isLegalSignature :: Sign -> Bool
determines whether a signature is valid. all sets are ok, so glued to true
addToSig :: Sign -> Token -> OpType -> Sign
Basic function to extend a given signature by adding an item (id) to it
isSubSigOf :: Sign -> Sign -> Bool
Determines if sig1 is subsignature of sig2
sigUnion :: Sign -> Sign -> Result Sign
union of Signatures or do I have to care about more things here?
optypeFromArity :: Int -> OpType
addEPDefValToSig :: Sign -> Token -> APInt -> Sign
addEPDeclToSig :: Sign -> Token -> EPDomain -> Sign
Adds an extended parameter declaration for a given domain and
eventually implicitly defined EP domain vars, e.g., for 'I = [0, n]'
n
is implicitly added
addEPDomVarDeclToSig :: Sign -> Token -> APInt -> Sign