matchM -package:hakyll

Eliminate all specified values a from f (Either a b) by replacing each of them with a given f a.
Every monad is a multi-way selective functor.
Try to run an effectful function, on pattern match fail behave like pure
>>> matchM (\'a' -> Just 'A') 'a'
Just 'A'

>>> matchM (\'a' -> Just 'A') 'x'
Just 'x'
Match against any message, regardless of the underlying (contained) type
Match against any message (regardless of underlying type) that satisfies a predicate
If set, only receives signals sent with the given member name.
Efficiently match many FilePatterns against many FilePaths in a single operation. Note that the returned matches are not guaranteed to be in any particular order.
matchMany [(a, pat)] [(b, path)] == maybeToList (map (a,b,) (match pat path))
finding all matches
Use a Haskell \case expression to pattern match on a MaybeFields.
example :: MaybeFields (Field SqlInt4) -> Field SqlInt4
example mf = matchMaybe mf $ \case
Nothing -> 0
Just x  -> x * 100
error and warning message body
Mark values in the first pattern which match with at least one value in the second pattern.
instances of this class provide a variety of ways to match on the Request method. Examples:
method GET                  -- match GET or HEAD
method [GET, POST]          -- match GET, HEAD or POST
method HEAD                 -- match HEAD /but not/ GET
method (== GET)             -- match GET or HEAD
method (not . (==) DELETE)  -- match any method except DELETE
method ()                   -- match any method
As you can see, GET implies that HEAD should match as well. This is to make it harder to write an application that uses HTTP incorrectly. Happstack handles HEAD requests automatically, but we still need to make sure our handlers don't mismatch or a HEAD will result in a 404. If you must, you can still do something like this to match GET without HEAD:
guardRq ((== GET) . rqMethod)
A message emitted while matching a TOML value. The message is paired with the path to the value that was in focus when the message was generated. These message get used for both warnings and errors. For a convenient way to render these to a string, see prettyMatchMessage.