[GHC] #8831: Cannot use Template Haskell splice in ghci
#8831: Cannot use Template Haskell splice in ghci ------------------------------------+--------------------------------- Reporter: goldfire | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Template Haskell | Version: 7.8.1-rc1 Keywords: | Operating System: MacOS X Architecture: x86_64 (amd64) | Type of failure: None/Unknown Difficulty: Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | ------------------------------------+--------------------------------- I have this module: {{{ {-# LANGUAGE TemplateHaskell #-} module A where foo = [| 3 |] }}} Now, I do this in ghci: {{{
:seti -XTemplateHaskell :load A.hs [1 of 1] Compiling A ( A.hs, interpreted ) Ok, modules loaded: A. $foo Loading package array-0.5.0.0 ... linking ... done. Loading package deepseq-1.3.0.2 ... linking ... done. Loading package containers-0.5.4.0 ... linking ... done. Loading package pretty-1.1.1.1 ... linking ... done. Loading package template-haskell ... linking ... done. unknown package: main }}}
The problem is the last line, failing to find the `main` package. I can reproduce this issue in 7.8rc1 and in HEAD. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8831> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#8831: Cannot use Template Haskell splice in ghci -------------------------------------+---------------------------------- Reporter: goldfire | Owner: Type: bug | Status: new Priority: highest | Milestone: 7.8.1 Component: Template Haskell | Version: 7.8.1-rc1 Resolution: | Keywords: Operating System: MacOS X | Architecture: x86_64 (amd64) Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: -------------------------------------+---------------------------------- Changes (by simonpj): * priority: normal => highest * milestone: => 7.8.1 Comment: This looks bad. When did it start to happen? I'm surprised a regression test doesn't catch it. Austin can you investigate? Simon -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8831#comment:1> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#8831: Cannot use Template Haskell splice in ghci -------------------------------------+---------------------------------- Reporter: goldfire | Owner: thoughtpolice Type: bug | Status: new Priority: highest | Milestone: 7.8.1 Component: Template Haskell | Version: 7.8.1-rc1 Resolution: | Keywords: Operating System: MacOS X | Architecture: x86_64 (amd64) Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: -------------------------------------+---------------------------------- Changes (by thoughtpolice): * owner: => thoughtpolice Comment: I'm also extremely surprised a test didn't seem to catch this. I'm looking into it. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8831#comment:2> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#8831: Cannot use Template Haskell splice in ghci -------------------------------------+---------------------------------- Reporter: goldfire | Owner: thoughtpolice Type: bug | Status: new Priority: highest | Milestone: 7.8.1 Component: Template Haskell | Version: 7.8.1-rc2 Resolution: | Keywords: Operating System: MacOS X | Architecture: x86_64 (amd64) Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: -------------------------------------+---------------------------------- Changes (by thoughtpolice): * version: 7.8.1-rc1 => 7.8.1-rc2 -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8831#comment:3> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#8831: Cannot use Template Haskell splice in ghci -------------------------------------+---------------------------------- Reporter: goldfire | Owner: thoughtpolice Type: bug | Status: new Priority: highest | Milestone: 7.8.1 Component: Template Haskell | Version: 7.8.1-rc2 Resolution: | Keywords: Operating System: MacOS X | Architecture: x86_64 (amd64) Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: -------------------------------------+---------------------------------- Changes (by kazu-yamamoto): * cc: kazu@… (added) -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8831#comment:4> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#8831: Cannot use Template Haskell splice in ghci -------------------------------------+---------------------------------- Reporter: goldfire | Owner: thoughtpolice Type: bug | Status: new Priority: highest | Milestone: 7.8.1 Component: Template Haskell | Version: 7.8.1-rc2 Resolution: | Keywords: Operating System: MacOS X | Architecture: x86_64 (amd64) Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: -------------------------------------+---------------------------------- Comment (by Austin Seipp <austin@…>): In [changeset:"f9b6a2bb6574904ab11476d79896491b111ad7cc/ghc"]: {{{ #!CommitTicketReference repository="ghc" revision="f9b6a2bb6574904ab11476d79896491b111ad7cc" testsuite: add test for #8831 Signed-off-by: Austin Seipp <austin@well-typed.com> }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8831#comment:5> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#8831: Cannot use Template Haskell splice in ghci -------------------------------------+---------------------------------- Reporter: goldfire | Owner: thoughtpolice Type: bug | Status: new Priority: highest | Milestone: 7.8.1 Component: Template Haskell | Version: 7.8.1-rc2 Resolution: | Keywords: Operating System: MacOS X | Architecture: x86_64 (amd64) Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: -------------------------------------+---------------------------------- Comment (by Joachim Breitner <mail@…>): In [changeset:"4bc3c8265f988f4456664f502164f52466aab67d/ghc"]: {{{ #!CommitTicketReference repository="ghc" revision="4bc3c8265f988f4456664f502164f52466aab67d" Mark test for #8831 as known-broken to keep validate working. }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8831#comment:6> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#8831: Cannot use Template Haskell splice in ghci -------------------------------------+---------------------------------- Reporter: goldfire | Owner: thoughtpolice Type: bug | Status: new Priority: highest | Milestone: 7.8.1 Component: Template Haskell | Version: 7.8.1-rc2 Resolution: | Keywords: Operating System: MacOS X | Architecture: x86_64 (amd64) Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: -------------------------------------+---------------------------------- Comment (by Simon Peyton Jones <simonpj@…>): In [changeset:"28e8d878b63d06824001ac3a631254679e0f1960/ghc"]: {{{ #!CommitTicketReference repository="ghc" revision="28e8d878b63d06824001ac3a631254679e0f1960" Simplify handling of the interactive package; fixes Trac #8831 This patch is really a fix to the big commint 73c08ab10e4077e18e459a1325996bff110360c3 Re-work the naming story for the GHCi prompt (Trac #8649) which introduced the 'interactive' package See Note [The interactive package] in HscTypes The original commit set both (a) The tcg_mod field of TcGblEnv to 'interactive:Ghci4' (say) (b) The thisPackage field of DynFlags to 'interactive' But the second step interacts badly with linking. :loaded modules are in the package set by 'thisPackage' (usually 'main'); if you change that, then we try to link package 'main', but can't find it, and that is what happened in #8831. The fix was simple: do (a) but not (b). I changed Note [The interactive package] in HscTypes to describe this. }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8831#comment:7> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#8831: Cannot use Template Haskell splice in ghci -------------------------------------+---------------------------------- Reporter: goldfire | Owner: thoughtpolice Type: bug | Status: new Priority: highest | Milestone: 7.8.1 Component: Template Haskell | Version: 7.8.1-rc2 Resolution: | Keywords: Operating System: MacOS X | Architecture: x86_64 (amd64) Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: -------------------------------------+---------------------------------- Comment (by Simon Peyton Jones <simonpj@…>): In [changeset:"1a7709ef9b25175566bc040a34b3d479ea8566ed/ghc"]: {{{ #!CommitTicketReference repository="ghc" revision="1a7709ef9b25175566bc040a34b3d479ea8566ed" Trac #8831 is fixed }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8831#comment:8> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#8831: Cannot use Template Haskell splice in ghci ---------------------------------------+---------------------------------- Reporter: goldfire | Owner: thoughtpolice Type: bug | Status: merge Priority: highest | Milestone: 7.8.1 Component: Template Haskell | Version: 7.8.1-rc2 Resolution: | Keywords: Operating System: MacOS X | Architecture: x86_64 (amd64) Type of failure: None/Unknown | Difficulty: Unknown Test Case: ghci/scripts/T8831 | Blocked By: Blocking: | Related Tickets: ---------------------------------------+---------------------------------- Changes (by simonpj): * status: new => merge * testcase: => ghci/scripts/T8831 -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8831#comment:9> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#8831: Cannot use Template Haskell splice in ghci ---------------------------------------+---------------------------------- Reporter: goldfire | Owner: thoughtpolice Type: bug | Status: closed Priority: highest | Milestone: 7.8.1 Component: Template Haskell | Version: 7.8.1-rc2 Resolution: fixed | Keywords: Operating System: MacOS X | Architecture: x86_64 (amd64) Type of failure: None/Unknown | Difficulty: Unknown Test Case: ghci/scripts/T8831 | Blocked By: Blocking: | Related Tickets: ---------------------------------------+---------------------------------- Changes (by thoughtpolice): * status: merge => closed * resolution: => fixed Comment: Merged. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8831#comment:10> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#8831: Cannot use Template Haskell splice in ghci ---------------------------------------+---------------------------------- Reporter: goldfire | Owner: thoughtpolice Type: bug | Status: closed Priority: highest | Milestone: 7.8.1 Component: Template Haskell | Version: 7.8.1-rc2 Resolution: fixed | Keywords: Operating System: MacOS X | Architecture: x86_64 (amd64) Type of failure: None/Unknown | Difficulty: Unknown Test Case: ghci/scripts/T8831 | Blocked By: Blocking: | Related Tickets: ---------------------------------------+---------------------------------- Comment (by kazu-yamamoto): Thanks, Simon. I confirmed that this bug has been fixed. https://github.com/sol/doctest-haskell/issues/76 -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8831#comment:11> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
participants (1)
-
GHC