get rid of unary '' operator
the unary '' is a very odd case in the report and causes a lot of confusion.
to fix it we can
 make '' part of the lexical syntax of numbers. so a '' followed by digits is interpreted as a negative number
 get rid of all other special treatment of ''
 people can use 'negate' if they want to negate non literals.
 the removal of n + k patterns will make this more attractive
Cons

This does introduce a syntactic oddity, namely that
1
is different from 1
though syntax highlighting editors could make this distinction obvious. 
It would no longer be possible to write
x1
to mean "x minus 1", instead it would mean "x applied to the literal 1", which is counterintuitive. Also,x  1
with spaces would have the "x minus 1" meaning. 
In Haskell 98, '' is explicitly excluded from right sections, so:
Prelude> :t ( 1)
( 1) :: (Num a) => a
Prelude> :t (1 )
(1 ) :: (Num a) => a > a
If we removed special treatment of '', then these become symmetrical again. However it seems unintuitive that
(x)
is a right section of '', but(1)
is the literal 1.
Another motivation for lexing  as part of a numeric literal (or changing its precedence), from 20071010 #haskell:
[09:33] < quicksilver> am I the only person who finds mod's behaviour with
negative numbers stupid
[09:34] < matthew_> try rem then
[09:34] < quicksilver> > (4) `mod` 16
[09:34] < quicksilver> > (4) `rem` 16
[09:34] < lambdabot> 12
[09:34] < lambdabot> 4
[09:34] < quicksilver> that's odd, that's not what my ghci did
[09:34] < quicksilver> doh
[09:34] < quicksilver> bracketing error :P
[09:35] < quicksilver> mod does do what I expect, if I put the negative number
in bracets
[09:35] < quicksilver> I wouldn't expect 'unary minus' to have lower precedence
that `mod` though
[09:35] < sieni> > 4 `rem` 16
[09:35] < lambdabot> 4
[09:35] < sieni> oops
[09:35] < sieni> > 4 `mod` 16
[09:35] < lambdabot> 4
[09:35] < quicksilver> sieni: yeah, that's what I did
[09:36] < sieni> quicksilver: yeah I know, that has bitten me too :)
[09:36] < quicksilver> I always expect unary minus to bind tight
[09:37] < osfameron> yeah, haskell's unary minus is surprisingly loose
haskellsrcexts, haskellsrc, and HLint have been using a unary minus that binds tighter than any other infix operator, and have never encountered any problems with it: http://www.haskell.org/pipermail/haskellprime/2009August/002955.html.