| Safe Haskell | None | 
|---|
Termlib.Signature
Documentation
data Signature sym attribs
Instances
| Eq attribs => Eq (Signature sym attribs) | |
| Show attribs => Show (Signature sym attribs) | |
| PrettyPrintable (Variable, Variables) | |
| PrettyPrintable (Symbol, Signature) | |
| PrettyPrintable (Term, Signature, Variables) | |
| PrettyPrintable (Rule, Signature, Variables) | |
| PrettyPrintable (Trs, Signature, Variables) | 
data SignatureMonad sym attribs a
Instances
| Monad (SignatureMonad sym attribs) | 
cardinality :: Signature sym attribs -> Int
fresh :: Enumerateable sym => attribs -> SignatureMonad sym attribs sym
maybeFresh :: (Enumerateable sym, Eq attribs) => attribs -> SignatureMonad sym attribs sym
getAttributes :: Enumerateable sym => sym -> SignatureMonad sym attribs attribs
modifySignature :: (Signature sym attribs -> Signature sym attribs) -> SignatureMonad sym attribs (Signature sym attribs)
runSignature :: SignatureMonad sym attribs a -> Signature sym attribs -> (a, Signature sym attribs)
findByAttribute :: (Enumerateable sym, MonadPlus m) => (attribs -> Bool) -> Signature sym attribs -> m sym
attribute :: Enumerateable sym => (attribs -> a) -> sym -> Signature sym attribs -> a
attributes :: Enumerateable sym => sym -> Signature sym attribs -> attribs
alterAttributes :: Enumerateable sym => (Maybe attribs -> Maybe attribs) -> sym -> Signature sym attribs -> Signature sym attribs
restrictToSymbols :: (Ord sym, Enumerateable sym) => Signature sym attribs -> Set sym -> Signature sym attribs
symbols :: (Ord sym, Enumerateable sym) => Signature sym attribs -> Set sym
liftS :: (Signature sym attribs -> a) -> SignatureMonad sym attribs a
foldWithKey :: Enumerateable sym => (sym -> attribs -> b -> b) -> b -> Signature sym attribs -> b
toList :: Enumerateable sym => Signature sym attribs -> [(sym, attribs)]
getSignature :: SignatureMonad sym attrib (Signature sym attrib)