Proposal: Add Eq instance for Control.Exception.ErrorCall
ekmett at gmail.com
Tue Nov 27 16:30:31 CET 2012
There are a number of other data types in that module that have a similar
construction IIRC, such as AssertionFailed, NoMethodError,
PatternMatchFail, RecConError, RelSelError, etc. which should probably pick
up Eq, Ord for consistency (and become newtypes).
and a few others that can have the obvious trivial, empty Eq, Ord like
NonTermination, NestedAtomically, BlockedIndefinitelyOnMVar.
The module is currently a bit ad hoc about which types support Eq and Ord.
For instance, ArrayException already supported this kind of Eq/Ord, and all
the multiple constructor versions did, but none of the single-constructor
trivial versions and only some of the reasonable-to-newtype ones.
On Tue, Nov 27, 2012 at 8:57 AM, Simon Marlow <marlowsd at gmail.com> wrote:
> On 27/11/12 10:59, Simon Hengel wrote:
>> I propose to add an Eq instance for ErrorCall. The main motivation is
>> to make it more convenient to construct predicates that select specific
>> My current use case is testing for expected exceptions. In Hspec we
>> use predicates for that, e.g.:
>> evaluate (head ) `shouldThrow` (== ErrorCall "Prelude.head: empty
>> But I think it can be useful in other situations and it is consistent
>> with the fact that other common exception types have an Eq instance
>> (e.g. ArithException, IOException, ExitCode).
>> Discussion period: 3 Weeks
> Already did it, a few weeks ago:
> Libraries mailing list
> Libraries at haskell.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Libraries