@@ -3,13 +3,10 @@ module Data.Isoparsec.Internal
33 IsoparsecFail (..),
44 Isoparsec (..),
55 konst,
6− tsnok,
76 siCons,
87 isoCheck,
98 siCheck,
109 check,
11− badKonst,
12− badTsnok,
1310 unroll,
1411 arrowsWhile,
1512 )
@@ -33,7 +30,7 @@ class
3330
3431 token :: Element s -> m () ()
3532 default token :: Eq (Element s) => Element s -> m () ()
36− token x = anyToken >>^ tsnok x
33+ token x = anyToken >>^ turn (konst x)
3734
3835 tokens :: [Element s] -> m () ()
3936 default tokens :: [Element s] -> m () ()
@@ -115,17 +112,8 @@ isoCheck f a b = siCheck f (pure . a) (pure . b)
115112isoConst :: s -> a -> SemiIso s a
116113isoConst s a = SI (const $ pure a) (const $ pure s)
117114
118−konst :: Eq x => x -> SemiIso () x
119−konst x = badKonst x >>> check (== x)
120−
121−badKonst :: x -> SemiIso () x
122−badKonst x = SI (const $ pure x) (const $ pure ())
123−
124−tsnok :: Eq x => x -> SemiIso x ()
125−tsnok x = check (== x) >>> badTsnok x
126−
127−badTsnok :: x -> SemiIso x ()
128−badTsnok x = SI (const $ pure ()) (const $ pure x)
129−
130115check :: (s -> Bool) -> SemiIso s s
131116check f = isoCheck f id id
117+
118+konst :: Eq x => x -> SemiIso () x
119+konst x = SI (const $ pure x) (const $ pure ()) >>> check (== x)