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. 



On Sun, May 6, 2018 at 8:47 AM Joachim Breitner <mail@joachim-breitner.de> wrote:
Hi,

Am Sonntag, den 06.05.2018, 15:42 +0000 schrieb Iavor Diatchki:
> Is there a reason why we should write `5 @Int` as opposed to `5 :: Int`?

Because we can. Or rather, we should can, because

   Prelude> :t 5
   5 :: Num t => t
   Prelude> :t 5 @Double
   <interactive>:1:1: error:
       • Cannot apply expression of type ‘t0’
         to a visible type argument ‘Double’
       • In the expression: 5 @Double

is confusing and inconsistent with the user’s expectation after
learning about when they can use ExplicitTypeApplications (unless one
knows about the syntactic sugar involved.)

> Also, there appears to be a typo in the spec, the part which specifies translations for integers (1 turned into 0?)

thanks, fixed.


(BTW, all of you are owners of the repository and should have the
necessary permissions to edit pull requests directly.)

Cheers,
Joachim

--
Joachim Breitner
  mail@joachim-breitner.de
  http://www.joachim-breitner.de/
_______________________________________________
ghc-steering-committee mailing list
ghc-steering-committee@haskell.org
https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee