Send Beginners mailing list submissions to
        beginners@haskell.org

To subscribe or unsubscribe via the World Wide Web, visit
        http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
or, via email, send a message with subject or body 'help' to
        beginners-requ...@haskell.org

You can reach the person managing the list at
        beginners-ow...@haskell.org

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Beginners digest..."


Today's Topics:

   1. Re:  How to test "error"? (Hilco Wijbenga)
   2. Re:  How to test "error"? (Hilco Wijbenga)


----------------------------------------------------------------------

Message: 1
Date: Tue, 11 Jun 2019 22:24:09 -0700
From: Hilco Wijbenga <hilco.wijbe...@gmail.com>
To: The Haskell-Beginners Mailing List - Discussion of primarily
        beginner-level topics related to Haskell <beginners@haskell.org>
Subject: Re: [Haskell-beginners] How to test "error"?
Message-ID:
        <CAE1pOi0FmirpSYmgbUYO_4GuvxENXA+NG7M=t+jhvmi6xbt...@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"

No, I don't think you should use Either/Maybe to anticipate bugs. If
your code could _legitimately_ fail (it's just something that follows
from your domain) then Maybe/Either are appropriate. Otherwise, some
sort of exception or "error" is more appropriate. E.g., if your domain
knowledge tells you that zeroes are impossible then you would not want
every division to return a Maybe just because division by zero is not
defined. _Because that should never happen._

On Tue, Jun 11, 2019 at 12:44 AM Michele Alzetta
<michele.alze...@gmail.com> wrote:
>
> As beginner to beginner, so take this with a kg of salt  ... isn't what 
> you're looking for a construction of the Either sort?
>
> That way you get Right and Left and you can check for Left.
>
>
>
>
>
> Il giorno mar 11 giu 2019 alle ore 05:45 Hilco Wijbenga 
> <hilco.wijbe...@gmail.com> ha scritto:
>>
>> Hi all,
>>
>> I have a function that may call "error" if the input represents a bug
>> in my program. (Think something like PositiveInt -1; this should never
>> happen so Maybe or Either are not applicable.)
>>
>> f :: Whatever
>> f = error "This should never happen."
>>
>> spec :: Spec
>> spec =
>>     describe "f" $
>>         it "error" $
>>             return f `shouldThrow` anyErrorCall
>>
>> The above does not work, I get "did not get expected exception:
>> ErrorCall". Using "anyException" doesn't work either.
>>
>> How can I write a test for this? And (assuming I can get the test to
>> work), how do I check that the error message is indeed what I expect?
>>
>> Cheers,
>> Hilco
>> _______________________________________________
>> Beginners mailing list
>> Beginners@haskell.org
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
>
> _______________________________________________
> Beginners mailing list
> Beginners@haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners


------------------------------

Message: 2
Date: Tue, 11 Jun 2019 22:26:03 -0700
From: Hilco Wijbenga <hilco.wijbe...@gmail.com>
To: The Haskell-Beginners Mailing List - Discussion of primarily
        beginner-level topics related to Haskell <beginners@haskell.org>
Subject: Re: [Haskell-beginners] How to test "error"?
Message-ID:
        <CAE1pOi3iTvaApOS6yr_6=obn50-t3hmdf51amfzvrv9y_65...@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"

Yes, "evaluate" does the trick. Thank you.

On Tue, Jun 11, 2019 at 2:39 AM Francesco Ariis <fa...@ariis.it> wrote:
>
> Hello Hilco,
>
> On Mon, Jun 10, 2019 at 08:44:30PM -0700, Hilco Wijbenga wrote:
> > f :: Whatever
> > f = error "This should never happen."
> >
> > spec :: Spec
> > spec =
> >     describe "f" $
> >         it "error" $
> >             return f `shouldThrow` anyErrorCall
>
>     import qualified Control.Exception as E
>
> and
>
>     E.evaluate tt' f `shouldThrow` anyErrorCall
>
> should work. Does this work?
> -F
> _______________________________________________
> Beginners mailing list
> Beginners@haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners


------------------------------

Subject: Digest Footer

_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners


------------------------------

End of Beginners Digest, Vol 132, Issue 4
*****************************************

Reply via email to