<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">I'm also unconvinced about this proposal. It's hard to specify, requiring that Prelude.fromInteger be magical. Note that if someone defined a separate Num class (under -XNoImplicitPrelude -XRebindableSyntax) that's fully equivalent to Prelude.Num, it wouldn't work. Also, Joachim's point about `:t 5` is a poor motivation: `:t` does not give you helpful information w.r.t. type applications. You need `:t +v`. With -fprint-explicit-foralls,<div class=""><br class=""></div><div class="">λ> :t +v 5</div><div class="">5 :: forall {p}. Num p => p</div><div class=""><br class=""></div><div class="">The appearance of the braces in the output means that 5 is not available for visible type application (the variable p is *inferred*). So if there's any unexpected behavior in the current implementation, that's due to ill-informed expectations, not misbehavior.</div><div class=""><br class=""></div><div class="">In the end, I would prefer to reject this proposal in favor of Joachim's casual proposal here: <a href="https://mail.haskell.org/pipermail/ghc-steering-committee/2018-May/000541.html" class="">https://mail.haskell.org/pipermail/ghc-steering-committee/2018-May/000541.html</a> (and expanded upon by my subsequent post).</div><div class=""><br class=""></div><div class="">Richard<br class=""><div class=""><div class=""><div><br class=""><blockquote type="cite" class=""><div class="">On May 6, 2018, at 12:27 PM, Iavor Diatchki <<a href="mailto:iavor.diatchki@gmail.com" class="">iavor.diatchki@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">I am not convinced, if that's the sole motivation.  By that reasoning you might expect that `(-5) @Int` or `(5+1) @Int` would also work, but they wouldn't. <div class=""><div class=""><br class=""></div><div class=""><br class=""></div></div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="">On Sun, May 6, 2018 at 8:47 AM Joachim Breitner <<a href="mailto:mail@joachim-breitner.de" class="">mail@joachim-breitner.de</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br class="">
<br class="">
Am Sonntag, den 06.05.2018, 15:42 +0000 schrieb Iavor Diatchki:<br class="">
> Is there a reason why we should write `5 @Int` as opposed to `5 :: Int`?<br class="">
<br class="">
Because we can. Or rather, we should can, because <br class="">
<br class="">
   Prelude> :t 5<br class="">
   5 :: Num t => t<br class="">
   Prelude> :t 5 @Double<br class="">
   <interactive>:1:1: error:<br class="">
       • Cannot apply expression of type ‘t0’<br class="">
         to a visible type argument ‘Double’<br class="">
       • In the expression: 5 @Double<br class="">
<br class="">
is confusing and inconsistent with the user’s expectation after<br class="">
learning about when they can use ExplicitTypeApplications (unless one<br class="">
knows about the syntactic sugar involved.)<br class="">
<br class="">
> Also, there appears to be a typo in the spec, the part which specifies translations for integers (1 turned into 0?)<br class="">
<br class="">
thanks, fixed.<br class="">
<br class="">
<br class="">
(BTW, all of you are owners of the repository and should have the<br class="">
necessary permissions to edit pull requests directly.)<br class="">
<br class="">
Cheers,<br class="">
Joachim<br class="">
<br class="">
-- <br class="">
Joachim Breitner<br class="">
  <a href="mailto:mail@joachim-breitner.de" target="_blank" class="">mail@joachim-breitner.de</a><br class="">
  <a href="http://www.joachim-breitner.de/" rel="noreferrer" target="_blank" class="">http://www.joachim-breitner.de/</a><br class="">
_______________________________________________<br class="">
ghc-steering-committee mailing list<br class="">
<a href="mailto:ghc-steering-committee@haskell.org" target="_blank" class="">ghc-steering-committee@haskell.org</a><br class="">
<a href="https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee" rel="noreferrer" target="_blank" class="">https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee</a><br class="">
</blockquote></div>
_______________________________________________<br class="">ghc-steering-committee mailing list<br class=""><a href="mailto:ghc-steering-committee@haskell.org" class="">ghc-steering-committee@haskell.org</a><br class="">https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee<br class=""></div></blockquote></div><br class=""></div></div></div></body></html>