[GHC] #10268: ApiAnnotations : quoted type variables missing leading quote

GHC ghc-devs at haskell.org
Wed Apr 8 12:38:23 UTC 2015


#10268: ApiAnnotations : quoted type variables missing leading quote
-------------------------------------+-------------------------------------
        Reporter:  alanz             |                   Owner:  alanz
            Type:  bug               |                  Status:  new
        Priority:  normal            |               Milestone:  7.10.2
       Component:  Compiler          |                 Version:  7.10.1
  (Parser)                           |                Keywords:
      Resolution:                    |  ApiAnnotations
Operating System:  Unknown/Multiple  |            Architecture:
 Type of failure:  None/Unknown      |  Unknown/Multiple
      Blocked By:                    |               Test Case:
 Related Tickets:                    |                Blocking:
                                     |  Differential Revisions:
-------------------------------------+-------------------------------------
Description changed by alanz:

Old description:

> The `HsOpTy` can be constructed for a promoted type operator, in which
> case it has the following form
>
> {{{
>         | btype SIMPLEQUOTE qconop type     { sLL $1 $> $ mkHsOpTy $1 $3
> $4 }
>         | btype SIMPLEQUOTE varop  type     { sLL $1 $> $ mkHsOpTy $1 $3
> $4 }
> }}}
>
> The SIMPLEQUOTE does not get an annotation, so cannot be reproduced via
> the API Annotations.

New description:

 The `HsOpTy` can be constructed for a promoted type operator, in which
 case it has the following form

 {{{
         | btype SIMPLEQUOTE qconop type     { sLL $1 $> $ mkHsOpTy $1 $3
 $4 }
         | btype SIMPLEQUOTE varop  type     { sLL $1 $> $ mkHsOpTy $1 $3
 $4 }
 }}}

 The SIMPLEQUOTE does not get an annotation, so cannot be reproduced via
 the API Annotations.

 Also, in

 {{{
 splice_exp :: { LHsExpr RdrName }
         : TH_ID_SPLICE          { sL1 $1 $ mkHsSpliceE
                                         (sL1 $1 $ HsVar (mkUnqual varName
                                                         (getTH_ID_SPLICE
 $1))) }
         | '$(' exp ')'          {% ams (sLL $1 $> $ mkHsSpliceE $2) [mo
 $1,mc $3] }
         | TH_ID_TY_SPLICE       { sL1 $1 $ mkHsSpliceTE
                                         (sL1 $1 $ HsVar (mkUnqual varName
                                                      (getTH_ID_TY_SPLICE
 $1))) }
         | '$$(' exp ')'         {% ams (sLL $1 $> $ mkHsSpliceTE $2) [mo
 $1,mc $3] }
 }}}

 the `TH_ID_SPLICE` and `TH_ID_TY_SPLICE` positions are lost.

--

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10268#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list