Stability | experimental |
---|---|
Safe Haskell | None |
Language | Haskell2010 |
This module defines a class for matchers and some basic matchers.
Documentation
Class for matchers.
denotes that Matcher
m tgtm
is a matcher for tgt
.
Instances
Matcher Something (a :: k) Source # | |
Defined in Control.Egison.Matcher | |
Eq a => Matcher Eql (a :: Type) Source # | |
Defined in Control.Egison.Matcher | |
Matcher m t => Matcher (Set m :: Type) ([t] :: Type) Source # | |
Defined in Control.Egison.Matcher.Collection | |
Matcher m t => Matcher (Multiset m :: Type) ([t] :: Type) Source # | |
Defined in Control.Egison.Matcher.Collection | |
Matcher m t => Matcher (List m :: Type) ([t] :: Type) Source # | |
Defined in Control.Egison.Matcher.Collection | |
(Matcher m1 t1, Matcher m2 t2) => Matcher (Pair m1 m2 :: Type) ((t1, t2) :: Type) Source # | |
Defined in Control.Egison.Matcher.Pair |
Matcher that handles pattern variables and wildcards for arbitrary types.
Instances
Matcher Something (a :: k) Source # | |
Defined in Control.Egison.Matcher |
class Eq t => ValuePattern m t where Source #
Nothing
value :: t -> Pattern () m t () Source #
value :: Eq t => t -> Pattern () m t () Source #
Instances
Eq a => ValuePattern Eql a Source # | |
(Eq a, Matcher m a, ValuePattern m a) => ValuePattern (Set m) [a] Source # | |
(Eq a, Matcher m a, ValuePattern m a) => ValuePattern (Multiset m) [a] Source # | |
(Eq a, Matcher m a, ValuePattern m a) => ValuePattern (List m) [a] Source # | |
(Eq a1, Matcher m1 a1, ValuePattern m1 a1, Eq a2, Matcher m2 a2, ValuePattern m2 a2) => ValuePattern (Pair m1 m2) (a1, a2) Source # | |
Matcher that can handle value patterns of Eq
types.