I'm not quite sure the comparison is unjust - i was referring to +,-,* giving strange error messages, not necessarily fromInteger. Recall that the instance is Monoid b => Monoid (a -> b).

An example is a user might mistakenly type `mempty "text"`, which is just `const mempty`, though this might not be what they mean (GHC 8.6 will give the hole in `f :: Text -> Text; f x = _ x;` a suggestion of `mempty`, which might certainly be confusing to a beginner). Similarly `2 4` might parse 2 as being applied to 4, if (a -> b) had a Num instance (correct me if i'm wrong in saying thats how such a string might be parsed).

On Sun, Nov 11, 2018, 5:10 PM Oleg Grenrus <oleg.grenrus@iki.fi wrote:
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@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@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@gmail.com> wrote:
On 11/11/18, Henning Thielemann <lemming@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@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
_______________________________________________
Libraries mailing list
Libraries@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
_______________________________________________
Libraries mailing list
Libraries@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries