Proposal: Num instance for (a -> b)

Oleg Grenrus oleg.grenrus at iki.fi
Sun Nov 11 22:10:43 UTC 2018


Monoid doesn't have fromInteger -like function. For example, we don't have FromString b => FromString (a -> b) instance.

Unfortunately fromInteger is part of Num, so comparison with Monoid is unjust.

Sent from my iPhone

> On 11 Nov 2018, at 23.44, Daniel Cartwright <chessai1996 at gmail.com> wrote:
> 
> ANum seems to be just Data.Monoid.Ap. 
> Also, I can see not wanting to worsen the error messages, though it is worth pointing out that we already have a Monoid instance with the same semantics, and a similar potential for confusing error messages.
> 
>> On Sun, Nov 11, 2018, 1:36 AM Dan Burton <danburton.email at gmail.com wrote:
>> -1, per the very confusing errors that would ensue.
>> 
>> If this behavior is desired, you can use a newtype wrapper. As it happens, this fits the pattern of ANum. (Any Applicative can be made an instance of Num in this way.)
>> 
>> -- Dan Burton
>> 
>> 
>>> On Sun, Nov 11, 2018 at 12:28 AM Tom Murphy <amindfv at gmail.com> wrote:
>>> On 11/11/18, Henning Thielemann <lemming at henning-thielemann.de> wrote:
>>> >
>>> > On Sun, 11 Nov 2018, Henning Thielemann wrote:
>>> >
>>> >> On Sat, 10 Nov 2018, Daniel Cartwright wrote:
>>> >>
>>> >>> relevant reddit comment
>>> >>> thread:https://www.reddit.com/r/haskell/comments/9vtis5/the_universe_of_discourse_i_hate_the_environment/e9f1lea?utm_so
>>> >>> urce=reddit-android
>>> >>
>>> >> https://wiki.haskell.org/index.php?title=Num_instance_for_functions&oldid=36632
>>> >>
>>> >> In short: It would make 2(x+y) no longer a type error but equivalent to 2.
>>> >> We
>>> >> would lose a lot of type safety for little syntactic gain.
>>> >
>>> > Btw. before adding more Wat instances please implement the GHC warning
>>> > about such instances:
>>> >     https://ghc.haskell.org/trac/ghc/ticket/11796
>>> 
>>> This is my feeling as well.
>>> 
>>> Tom
>>> _______________________________________________
>>> Libraries mailing list
>>> Libraries at haskell.org
>>> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>> _______________________________________________
>> Libraries mailing list
>> Libraries at haskell.org
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
> _______________________________________________
> Libraries mailing list
> Libraries at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/libraries/attachments/20181112/fb1c2dca/attachment.html>


More information about the Libraries mailing list