
Is there a reason why we should write `5 @Int` as opposed to `5 :: Int`?
Also, there appears to be a typo in the spec, the part which specifies
translations for integers (1 turned into 0?)
-Iavor
On Sun, May 6, 2018 at 7:25 AM Joachim Breitner
Dear Committee,
this is your secretary speaking:
Sandy Maguire proposes to change the desugaring of overloaded literals so that they work nicely with type applications https://github.com/ghc-proposals/ghc-proposals/pull/129 rendered at
https://github.com/isovector/ghc-proposals/blob/type-apps/proposals/0000-typ...
I’ll shepherd that myself.
The proposal is a good example for a working proposal system here. The original version of the proposal was rather complex, reshuffling type arguments and stuff. But community input distilled this much smaller change, which can be summarized:
Desugar `5` into `integerLit (5 :: Integer)` where
integerLit :: Integer -> forall a. Num a => a integerLit = fromInteger
This allows `5 @Int` to work just fine.
The proposal does not require a language extension, and does not change what happens in the light of `RebindableSyntax`.
I therefore recommend that we accept this proposal.
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