On Tue, Apr 16, 2013 at 10:17:48AM +0100, Tom Crayford wrote:
>  The core API is very simple:
> 
> data Matcher a = Matcher {
>     match :: a -> Bool
>   -- ^ A function that returns True if the matcher should pass, False if it
> should fail
>   , description :: String
>   -- ^ A description of the matcher (usually of its success conditions)
>   , describeMismatch :: a -> String
>   -- ^ A description to be shown if the match fails.
>   }

How about combining match and describeMismatch as a single function
of type a -> Match?  Then you wouldn't need the precondition on
describeMismatch.

Defining a Monoid instance for Match might also be useful.

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to