Maintainer | bastiaan.heeren@ou.nl |
---|---|
Stability | provisional |
Portability | portable (depends on ghc) |
Safe Haskell | None |
Language | Haskell98 |
This module defines extra combinators.
- permute :: (Choice a, Sequence a) => [a] -> a
- many :: (Sequence a, Fix a, Choice a) => a -> a
- many1 :: (Sequence a, Fix a, Choice a) => a -> a
- replicate :: Sequence a => Int -> a -> a
- option :: (Choice a, Sequence a) => a -> a
- try :: (Choice a, Sequence a) => a -> a
- repeat :: (Sequence a, Fix a, Choice a) => a -> a
- repeat1 :: (Sequence a, Fix a, Choice a) => a -> a
- exhaustive :: (Sequence a, Fix a, Choice a) => [a] -> a
- atomic :: AtomicSymbol a => Process a -> Process a
- (<%>) :: (AtomicSymbol a, LabelSymbol a) => Process a -> Process a -> Process a
- interleave :: (AtomicSymbol a, LabelSymbol a) => [Process a] -> Process a
- (<@>) :: AtomicSymbol a => Process a -> Process a -> Process a
- (!*>) :: AtomicSymbol a => Process a -> Process a -> Process a
- inits :: AtomicSymbol a => Process a -> Process a
- filterP :: (a -> Bool) -> Process a -> Process a
- hide :: (a -> Bool) -> Process a -> Process a
General combinators
option :: (Choice a, Sequence a) => a -> a Source
Apply a certain strategy or do nothing (non-greedy)
try :: (Choice a, Sequence a) => a -> a Source
Apply a certain strategy if this is possible (greedy version of option
)
repeat :: (Sequence a, Fix a, Choice a) => a -> a Source
Repeat a strategy zero or more times (greedy version of many
)
repeat1 :: (Sequence a, Fix a, Choice a) => a -> a Source
Apply a certain strategy at least once (greedy version of many1
)
exhaustive :: (Sequence a, Fix a, Choice a) => [a] -> a Source
Apply the strategies from the list exhaustively (until this is no longer possible)
Process-specific combinators
atomic :: AtomicSymbol a => Process a -> Process a Source
(<%>) :: (AtomicSymbol a, LabelSymbol a) => Process a -> Process a -> Process a Source
interleave :: (AtomicSymbol a, LabelSymbol a) => [Process a] -> Process a Source
inits :: AtomicSymbol a => Process a -> Process a Source