| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Control.Egison.Core
Documentation
data Pattern a m ctx vs where Source #
Constructors
| Wildcard :: Pattern a m ctx '[] | |
| PatVar :: String -> Pattern a m ctx '[a] | |
| AndPat :: Pattern a m ctx vs -> Pattern a m (ctx :++: vs) vs' -> Pattern a m ctx (vs :++: vs') | |
| OrPat :: Pattern a m ctx vs -> Pattern a m ctx vs -> Pattern a m ctx vs | |
| NotPat :: Pattern a m ctx '[] -> Pattern a m ctx '[] | |
| PredicatePat :: (HList ctx -> a -> Bool) -> Pattern a m ctx '[] | |
| Pattern :: Matcher m a => (HList ctx -> m -> a -> [MList ctx vs]) -> Pattern a m ctx vs |
Instances
| Integral a => Matcher Integer a Source # | |
Defined in Control.Egison.Matcher | |
| Matcher Eql a Source # | |
Defined in Control.Egison.Matcher | |
| Matcher Something a Source # | |
Defined in Control.Egison.Matcher | |
| Matcher m a => Matcher (Set m) [a] Source # | |
Defined in Control.Egison.Matcher | |
| Matcher m a => Matcher (Multiset m) [a] Source # | |
Defined in Control.Egison.Matcher | |
| Matcher m a => Matcher (List m) [a] Source # | |
Defined in Control.Egison.Matcher | |
| (Matcher m1 a1, Matcher m2 a2) => Matcher (Pair m1 m2) (a1, a2) Source # | |
Defined in Control.Egison.Matcher | |
data MatchClause a m b Source #
Constructors
| Matcher m a => MatchClause (Pattern a m '[] vs) (HList vs -> b) |