<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 6 May 2018 at 17:27, Iavor Diatchki <span dir="ltr"><<a href="mailto:iavor.diatchki@gmail.com" target="_blank">iavor.diatchki@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">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. <br></div></blockquote><div><br></div><div>I was about to make the same argument, but then I realised that there's a counter argument - the user's intuition about TypeApplications is likely to start with something like "look at the type of the function in the left corner of this application". In the case of (-5), which is actually `negate 5`, the identifier is `negate`, and we've already lost the ability to use a type application when we applied it to 5.  This is no different from something like `read "3" @Int` which also doesn't work.<br><br></div><div>The problem with bare literals is that we can't see the function in the corner, and the user will tend to think of the literal itself as the function, so I think the confusion that Joachim mentions is real.<br></div><div><br></div><div>That said, I have no strong opinions here and I haven't read the forall {k} proposal yet.<br></div><div><br></div><div>Cheers<br></div><div>Simon<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div></div><div><br></div></div></div><br><div class="gmail_quote"><div><div class="h5"><div dir="ltr">On Sun, May 6, 2018 at 8:47 AM Joachim Breitner <<a href="mailto:mail@joachim-breitner.de" target="_blank">mail@joachim-breitner.de</a>> wrote:<br></div></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">Hi,<br>
<br>
Am Sonntag, den 06.05.2018, 15:42 +0000 schrieb Iavor Diatchki:<br>
> Is there a reason why we should write `5 @Int` as opposed to `5 :: Int`?<br>
<br>
Because we can. Or rather, we should can, because <br>
<br>
   Prelude> :t 5<br>
   5 :: Num t => t<br>
   Prelude> :t 5 @Double<br>
   <interactive>:1:1: error:<br>
       • Cannot apply expression of type ‘t0’<br>
         to a visible type argument ‘Double’<br>
       • In the expression: 5 @Double<br>
<br>
is confusing and inconsistent with the user’s expectation after<br>
learning about when they can use ExplicitTypeApplications (unless one<br>
knows about the syntactic sugar involved.)<br>
<br>
> Also, there appears to be a typo in the spec, the part which specifies translations for integers (1 turned into 0?)<br>
<br>
thanks, fixed.<br>
<br>
<br>
(BTW, all of you are owners of the repository and should have the<br>
necessary permissions to edit pull requests directly.)<br>
<br>
Cheers,<br>
Joachim<br>
<br>
-- <br>
Joachim Breitner<br>
  <a href="mailto:mail@joachim-breitner.de" target="_blank">mail@joachim-breitner.de</a><br>
  <a href="http://www.joachim-breitner.de/" rel="noreferrer" target="_blank">http://www.joachim-breitner.<wbr>de/</a><br></div></div><span class="">
______________________________<wbr>_________________<br>
ghc-steering-committee mailing list<br>
<a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@<wbr>haskell.org</a><br>
<a href="https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee" rel="noreferrer" target="_blank">https://mail.haskell.org/cgi-<wbr>bin/mailman/listinfo/ghc-<wbr>steering-committee</a><br>
</span></blockquote></div>
<br>______________________________<wbr>_________________<br>
ghc-steering-committee mailing list<br>
<a href="mailto:ghc-steering-committee@haskell.org">ghc-steering-committee@<wbr>haskell.org</a><br>
<a href="https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee" rel="noreferrer" target="_blank">https://mail.haskell.org/cgi-<wbr>bin/mailman/listinfo/ghc-<wbr>steering-committee</a><br>
<br></blockquote></div><br></div></div>