[GHC] #12146: syntax repair suggestion is too eager to suggest TemplateHaskell

GHC ghc-devs at haskell.org
Wed Jun 29 15:14:27 UTC 2016


#12146: syntax repair suggestion is too eager to suggest TemplateHaskell
-------------------------------------+-------------------------------------
        Reporter:  j.waldmann        |                Owner:
            Type:  feature request   |               Status:  patch
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.0.1
      Resolution:                    |             Keywords:  newcomer
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  Incorrect         |  Unknown/Multiple
  warning at compile-time            |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:  #7396             |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by thomie):

 #7396 made 3 changes. The parser error message should suggest
 `TemplateHaskell` when a module contains at the toplevel:
 * `$foo`
 * `bar = 3 + $(x)`
 * `foo`

 The first two of those are fine.

 The third one is to handle this bit of obscure TemplateHaskell syntax:
 > You may omit the $(...) in a top-level declaration splice. Simply
 writing
 > an expression (rather than a declaration) implies a splice.

 The number of TemplateHaskell users who write modules using //only// this
 syntax, but who forget to add `LANGUAGE TemplateHaskell`, and who get
 confused about the new error message, should be much much smaller than
 those
 who get confused about the current error message for `ipmort Data.Monoid`.

 Furthermore, the comment in `T4042.hs` says that implicit splices without
 `-XTemplateHaskell` shouldn't lead to out of scope errors. Your new error
 message fits that criteria.

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


More information about the ghc-tickets mailing list