| Safe Haskell | Safe-Inferred |
|---|---|
| Language | GHC2021 |
Mello.Match
Documentation
Constructors
| MatchErrType !SexpType | |
| MatchErrTypeAtom | |
| MatchErrTypeQuote | |
| MatchErrTypeUnquote | |
| MatchErrTypeDoc | |
| MatchErrNotEq !Atom | |
| MatchErrListElem !Int | |
| MatchErrListRem | |
| MatchErrAlt !(Seq (Text, r)) | |
| MatchErrEmbed !e |
Instances
| (Typeable e, Show e, Typeable r, Show r) => Exception (MatchErr e r) Source # | |
Defined in Mello.Match Methods toException :: MatchErr e r -> SomeException # fromException :: SomeException -> Maybe (MatchErr e r) # displayException :: MatchErr e r -> String # | |
| (Show r, Show e) => Show (MatchErr e r) Source # | |
| (Eq r, Eq e) => Eq (MatchErr e r) Source # | |
| (Ord r, Ord e) => Ord (MatchErr e r) Source # | |
Defined in Mello.Match | |
newtype LocMatchErr e k Source #
Constructors
| LocMatchErr | |
Fields
| |
Instances
Instances
| MonadError x m => MonadError x (MatchT e k m) Source # | |
Defined in Mello.Match Methods throwError :: x -> MatchT e k m a # catchError :: MatchT e k m a -> (x -> MatchT e k m a) -> MatchT e k m a # | |
| MonadReader r m => MonadReader r (MatchT e k m) Source # | |
| MonadState s m => MonadState s (MatchT e k m) Source # | |
| MonadTrans (MatchT e k) Source # | |
Defined in Mello.Match | |
| Monad m => Applicative (MatchT e k m) Source # | |
| Functor m => Functor (MatchT e k m) Source # | |
| Monad m => Monad (MatchT e k m) Source # | |
data SeqMatchT e k m a Source #
Instances
| Monad m => Applicative (SeqMatchT e k m) Source # | |
Defined in Mello.Match Methods pure :: a -> SeqMatchT e k m a # (<*>) :: SeqMatchT e k m (a -> b) -> SeqMatchT e k m a -> SeqMatchT e k m b # liftA2 :: (a -> b -> c) -> SeqMatchT e k m a -> SeqMatchT e k m b -> SeqMatchT e k m c # (*>) :: SeqMatchT e k m a -> SeqMatchT e k m b -> SeqMatchT e k m b # (<*) :: SeqMatchT e k m a -> SeqMatchT e k m b -> SeqMatchT e k m a # | |
| Functor m => Functor (SeqMatchT e k m) Source # | |
| Monad m => Monad (SeqMatchT e k m) Source # | |
matchM :: Monad m => (SexpF (Memo SexpF k) -> Either (MatchErr e (LocMatchErr e k)) a) -> MatchT e k m a Source #
lookM :: Monad m => Brace -> [(Text, MatchT e k m (), SeqMatchT e k m a)] -> MatchT e k m a Source #
remainingM :: SeqMatchT e k m Int Source #
class Monad m => MatchSexp e k m a where Source #
Instances
| Monad m => MatchSexp e k m Atom Source # | |
| Monad m => MatchSexp e k m Sexp Source # | |
| Monad m => MatchSexp e k m Sym Source # | |
| Monad m => MatchSexp e k m Scientific Source # | |
Defined in Mello.Match Methods matchSexp :: MatchT e k m Scientific Source # | |
| Monad m => MatchSexp e k m Text Source # | |
| Monad m => MatchSexp e k m Integer Source # | |
| Monad m => MatchSexp e k m Char Source # | |
| MatchSexp e k m s => MatchSexp e k m (Anno k s) Source # | |
| Monad m => MatchSexp e k m (Memo SexpF k) Source # | |
fromAnnoSexpT :: MatchSexp e k m a => Memo SexpF k -> m (Either (LocMatchErr e k) a) Source #
fromAnnoSexp :: MatchSexp e k Identity a => Memo SexpF k -> Either (LocMatchErr e k) a Source #