module Text.Regex.Do.Type.Do_ where
import Text.Regex.Base.RegexLike as R
newtype GroupReplacer b = GroupReplacer (MatchArray -> ReplaceAcc b -> ReplaceAcc b)
data ReplaceAcc b = ReplaceAcc {
ReplaceAcc b -> b
acc::b,
ReplaceAcc b -> Int
pos_adj::Int
}
instance Functor ReplaceAcc where
fmap :: (a -> b) -> ReplaceAcc a -> ReplaceAcc b
fmap fn0 :: a -> b
fn0 r0 :: ReplaceAcc a
r0 = ReplaceAcc a
r0 { acc :: b
acc = a -> b
fn0 (a -> b) -> a -> b
forall a b. (a -> b) -> a -> b
$ ReplaceAcc a -> a
forall b. ReplaceAcc b -> b
acc ReplaceAcc a
r0 }
type PosLen = (MatchOffset, MatchLength)
type E a = Either String a