@@ -2,7 +2,6 @@
3module Data.Isoparsec
3module Data.Isoparsec
4 ( module X,
4 ( module X,
@@ -40,7 +39,7 @@ opt :: (ArrowPlus m, PolyArrow m SemiIso) => m () () -> m () ()
40opt m = m <+^ konst ()
39opt m = m <+^ konst ()
42opt' :: (ArrowPlus m, PolyArrow m SemiIso, Eq a) => a -> m () a -> m () ()
41opt' :: (ArrowPlus m, PolyArrow m SemiIso, Eq a) => a -> m () a -> m () ()
43−opt' a m = (m >>^ tsnok a) <+^ konst ()
42+opt' a m = (m >>^ turn (konst a)) <+^ konst ()
45repeating :: (PolyArrow m SemiIso, ArrowPlus m, Eq b) => m () b -> m () [b]
44repeating :: (PolyArrow m SemiIso, ArrowPlus m, Eq b) => m () b -> m () [b]
46repeating m = (m &&& (repeating m <+^ konst [])) >>^ siCons
45repeating m = (m &&& (repeating m <+^ konst [])) >>^ siCons
@@ -135,8 +134,8 @@ mapIso m = arr $ siMaybe (`M.lookup` n) (`M.lookup` u)
135auto :: forall x s m. (ToIsoparsec x s, Isoparsec m s) => m () x
134auto :: forall x s m. (ToIsoparsec x s, Isoparsec m s) => m () x
136auto = toIsoparsec
135auto = toIsoparsec
138−specific :: forall x s m. (ToIsoparsec x s, Isoparsec m s, Eq x, Show x) => x -> m () ()
137+specific :: forall x s m. (ToIsoparsec x s, Isoparsec m s, Eq x) => x -> m () ()
139−specific x = auto @x >>> check (== x) ^>^ tsnok x
138+specific x = auto @x >>^ turn (konst x)
141throughIntegral ::
140throughIntegral ::
142 (Integral a, Integral b, Num a, Num b, PolyArrow m SemiIso) =>
141 (Integral a, Integral b, Num a, Num b, PolyArrow m SemiIso) =>