packages feed

sweet-egison 0.1.0.2 → 0.1.0.3

raw patch · 2 files changed

+11/−1 lines, 2 filesPVP: minor bump suggested

API additions: PVP suggests at least a minor version bump

API changes (from Hackage documentation)

+ Control.Egison.Matcher.Pair: instance (GHC.Classes.Eq a1, Control.Egison.Matcher.Matcher m1 a1, Control.Egison.Matcher.ValuePattern m1 a1, GHC.Classes.Eq a2, Control.Egison.Matcher.Matcher m2 a2, Control.Egison.Matcher.ValuePattern m2 a2) => Control.Egison.Matcher.ValuePattern (Control.Egison.Matcher.Pair.Pair m1 m2) (a1, a2)

Files

src/Control/Egison/Matcher/Pair.hs view
@@ -26,3 +26,13 @@  tuple2M :: Pair m1 m2 -> (t1, t2) -> (m1, m2) tuple2M (Pair m1 m2) _ = (m1, m2)++instance (Eq a1, Matcher m1 a1, ValuePattern m1 a1, Eq a2, Matcher m2 a2, ValuePattern m2 a2) => ValuePattern (Pair m1 m2) (a1, a2) where+  value (e1, e2) () (Pair m1 m2) (v1, v2) = if eqAs m1 e1 v1 && eqAs m2 e2 v2 then pure () else mzero++eqAs :: (Matcher m t, ValuePattern m t) => m -> t -> t -> Bool+eqAs m x y =+  match dfs y m+    [ [mc| #x -> True |]+    , [mc| _ -> False |]+    ]
sweet-egison.cabal view
@@ -1,6 +1,6 @@ cabal-version:      2.0 name:               sweet-egison-version:            0.1.0.2+version:            0.1.0.3 synopsis:   Shallow embedding implementation of non-linear pattern matching