
As you’ll see 7.10 RC1 is out. The 7.10 boat has been advertised as sailing for weeks now. Of course everyone very reasonably wants their thing in, but if we keep agreeing, 7.10 will never appear.
If you are absolutely desperate to have something in that isn’t in yet, please say so in the most specific and concrete terms possible. (I assume this Match stuff is not in the desperate category.)
Anything big, pervasive, or destabilising is unlikely to get in for the reasons above.
Simon
From: Alan & Kim Zimmerman [mailto:alan.zimm@gmail.com]
Sent: 23 December 2014 13:49
To: Simon Peyton Jones
Cc: ghc-devs@haskell.org
Subject: Re: API Annotatons in a FunBind
I suspect it will be possible to move the fun_id and is_infix information directly into the Match, since it seems to be used via a MatchWrapper for a Match each time.
Should I attempt this, and if so should it be in D538? I am really keen to get this into 7.10, so do not want to push big changes through it it means missing the boat.
In terms of the variations of ( + ), the whole thing is parsed as a RdrName, and carries API annotations.
For interest, I dug through Parser.y when making test cases for ghc-exactprint and identified the following cases which all produce a RdrName, and have corresponding API Annotations.
| 'type' qcname {% amms (mkTypeImpExp (sLL $1 $> (unLoc $2)))
[mj AnnType $1,mj AnnVal $2] }
| '(' qconsym ')' {% ams (sLL $1 $> (unLoc $2))
[mo $1,mj AnnVal $2,mc $3] }
| '(' consym ')' {% ams (sLL $1 $> (unLoc $2))
[mo $1,mj AnnVal $2,mc $3] }
| '`' conid '`' {% ams (sLL $1 $> (unLoc $2))
[mj AnnBackquote $1,mj AnnVal $2
,mj AnnBackquote $3] }
| '`' varid '`' {% ams (sLL $1 $> (unLoc $2))
[mj AnnBackquote $1,mj AnnVal $2
,mj AnnBackquote $3] }
| '`' qvarid '`' {% ams (sLL $1 $> (unLoc $2))
[mj AnnBackquote $1,mj AnnVal $2
,mj AnnBackquote $3] }
| '(' ')' {% ams (sLL $1 $> $ getRdrName unitTyCon)
[mo $1,mc $2] }
| '(#' '#)' {% ams (sLL $1 $> $ getRdrName unboxedUnitTyCon)
[mo $1,mc $2] }
| '(' commas ')' {% ams (sLL $1 $> $ getRdrName (tupleTyCon BoxedTuple
(snd $2 + 1)))
(mo $1:mc $3:(mcommas (fst $2))) }
| '(#' commas '#)' {% ams (sLL $1 $> $ getRdrName (tupleTyCon UnboxedTuple
(snd $2 + 1)))
(mo $1:mc $3:(mcommas (fst $2))) }
| '(' '->' ')' {% ams (sLL $1 $> $ getRdrName funTyCon)
[mo $1,mj AnnRarrow $2,mc $3] }
| '[' ']' {% ams (sLL $1 $> $ listTyCon_RDR) [mo $1,mc $2] }
| '[:' ':]' {% ams (sLL $1 $> $ parrTyCon_RDR) [mo $1,mc $2] }
| '(' '~#' ')' {% ams (sLL $1 $> $ getRdrName eqPrimTyCon)
[mo $1,mj AnnTildehsh $2,mc $3] }
| '(' qtyconsym ')' {% ams (sLL $1 $> (unLoc $2))
[mo $1,mj AnnVal $2,mc $3] }
| '(' '~' ')' {% ams (sLL $1 $> $ eqTyCon_RDR)
[mo $1,mj AnnTilde $2,mc $3] }
tyvarop : '`' tyvarid '`' {% ams (sLL $1 $> (unLoc $2))
[mj AnnBackquote $1,mj AnnVal $2
,mj AnnBackquote $3] }
Alan
On Tue, Dec 23, 2014 at 3:25 PM, Simon Peyton Jones