Text.Regex.Base.Impl

regex-base-0.93.2: Replaces/Enhances Text.Regex

Portability | non-portable (Text.Regex.Base needs MPTC+FD)
Stability | experimental
Maintainer | libraries@haskell.org, textregexlazy@personal.mightyreason.com
Safe Haskell | Safe-Inferred

Text.Regex.Base.Impl

Description

Helper functions for defining certain instances of RegexContext. These help when defining instances of RegexContext with repeated types:

     instance (RegexLike regex source) => RegexContext regex source source where

runs into overlapping restrictions. To avoid this I have each backend define, for its own Regex type:

     instance RegexContext Regex String String where
       match = polymatch
       matchM = polymatchM

     instance RegexContext Regex ByteString ByteString where
       match = polymatch
       matchM = polymatchM

# Documentation

polymatch :: RegexLike a b => a -> b -> b

polymatchM :: (RegexLike a b, Monad m) => a -> b -> m b