[GHC] #14342: ghci fails to start with RebindableSyntax and OverloadedStrings

GHC ghc-devs at haskell.org
Thu Oct 19 14:26:11 UTC 2017


#14342: ghci fails to start with RebindableSyntax and OverloadedStrings
---------------------------------+----------------------------------------
        Reporter:  NeilMitchell  |                Owner:  (none)
            Type:  bug           |               Status:  patch
        Priority:  normal        |            Milestone:
       Component:  GHCi          |              Version:  8.2.1
      Resolution:                |             Keywords:  RebindableSyntax
Operating System:  Windows       |         Architecture:  Unknown/Multiple
 Type of failure:  GHCi crash    |            Test Case:
      Blocked By:                |             Blocking:
 Related Tickets:                |  Differential Rev(s):  Phab:D4086
       Wiki Page:                |
---------------------------------+----------------------------------------

Comment (by Ryan Scott <ryan.gl.scott@…>):

 In [changeset:"e023e78bc13ffae168f00a52324fc406a146b40f/ghc" e023e78/ghc]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="e023e78bc13ffae168f00a52324fc406a146b40f"
 Disable -XRebindableSyntax when running internal GHCi expressions

 Summary:
 It's well known that `-XRebindableSyntax` doesn't play
 nicely with some of the internal expressions that GHCi runs. #13385
 was one example where this problem arose, which was fixed at the time
 by simply avoiding the use of `do`-notation in these internal GHCi
 expressions. That seemed to work, but it was a technique that proved
 not to scale, as #14342 demonstrated //another// example where
 `-XRebindableSyntax` can bite.

 Instead of delicately arranging the internal GHCi expressions to
 avoid anything that might be covered under `-XRebindableSyntax`,
 this patch takes the much more direct approach of disabling
 `-XRebindableSyntax` entirely when running any internal GHCi
 expression. This shouldn't hurt, since nothing internal to GHCi was
 taking advantage of the extension in the first place, and moreover,
 we can have greater confidence that some other obscure
 `-XRebindableSyntax` corner case won't pop up in the future. As an
 added bonus, this lets us once again use `do`-notation in the code
 that had to be changed when #13385 was (hackily) fixed before.

 Test Plan: make test TEST=T14342

 Reviewers: bgamari, austin

 Subscribers: rwbarton, thomie

 GHC Trac Issues: #14342

 Differential Revision: https://phabricator.haskell.org/D4086
 }}}

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


More information about the ghc-tickets mailing list