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

Copyright | (c) Chris Kuklewicz 2006
License | BSD-style (see the file LICENSE)
Maintainer | libraries@haskell.org, textregexlazy@personal.mightyreason.com
Stability | experimental
Portability | non-portable (Text.Regex.Base needs MPTC+FD)
Safe Haskell | Safe
Language | Haskell98

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