[GHC] #8398: reify module list in TH

#8398: reify module list in TH -------------------------------------------+------------------------------- Reporter: errge | Owner: Type: bug | Status: new Priority: normal | Milestone: 7.8.1 Component: Compiler | Version: 7.6.3 Keywords: | Operating System: Architecture: Unknown/Multiple | Unknown/Multiple Difficulty: Easy (less than 1 hour) | Type of failure: Blocked By: | None/Unknown Related Tickets: #8337 | Test Case: | Blocking: 7867 -------------------------------------------+------------------------------- This patch is for the use-case detailed in #7867. The added Q monad method provides the ability to get a list of module names in a format that is compatible with the module annotation reification in #8337. The patch contains a helper method that depends on #8337, so that should be applied first. If this is problematic, it's easy to separate this patch into one that doesn't depend on #8337 and an other that does. Then we can add the latter later. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8398 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8398: reify module list in TH -------------------------------+------------------------------------------- Reporter: errge | Owner: Type: bug | Status: patch Priority: normal | Milestone: 7.8.1 Component: Compiler | Version: 7.6.3 Resolution: | Keywords: Operating System: | Architecture: Unknown/Multiple Unknown/Multiple | Difficulty: Easy (less than 1 hour) Type of failure: | Blocked By: None/Unknown | Related Tickets: #8337 Test Case: | Blocking: 7867 | -------------------------------+------------------------------------------- Changes (by errge): * status: new => patch -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8398#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8398: reify module list in TH -------------------------------+------------------------------------------- Reporter: errge | Owner: Type: feature | Status: patch request | Milestone: 7.8.1 Priority: normal | Version: 7.7 Component: Template | Keywords: Haskell | Architecture: Unknown/Multiple Resolution: | Difficulty: Easy (less than 1 hour) Operating System: | Blocked By: 8426 Unknown/Multiple | Related Tickets: #8337 Type of failure: | None/Unknown | Test Case: | Blocking: 7867 | -------------------------------+------------------------------------------- Changes (by errge): * type: bug => feature request * version: 7.6.3 => 7.7 * component: Compiler => Template Haskell -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8398#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8398: reify module list in TH -------------------------------+------------------------------------------- Reporter: errge | Owner: Type: feature | Status: patch request | Milestone: 7.10.1 Priority: normal | Version: 7.7 Component: Template | Keywords: Haskell | Architecture: Unknown/Multiple Resolution: | Difficulty: Easy (less than 1 hour) Operating System: | Blocked By: 1480 Unknown/Multiple | Related Tickets: #8337 Type of failure: | None/Unknown | Test Case: | Blocking: 7867 | -------------------------------+------------------------------------------- Changes (by errge): * blockedby: 8426 => 1480 * milestone: 7.8.1 => 7.10.1 Comment: This current patch seems to be a bad idea because of the reifyModuleNames API. It returns a list of modules that are currently "known by the compiler". This "known by the compiler" is very GHC specific, related to orphan modules and hard to text as a standard that is easy to Haskell implementors to follow. A better API to provide is "a list of modules that this module depends" and "a list of modules that this module depends on transitively". The first is provided by #1480 and on top of that the second can be implemented as a helper method totally in Language.Haskell.TH.Lib, without introducing new Q monad instructions or changing the compiler in any way. Therefore I'm setting this blocked by #1480 and targeting 7.10. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8398#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8398: reify module list in TH -------------------------------+------------------------------------------- Reporter: errge | Owner: Type: feature | Status: new request | Milestone: 7.10.1 Priority: normal | Version: 7.7 Component: Template | Keywords: Haskell | Architecture: Unknown/Multiple Resolution: | Difficulty: Easy (less than 1 hour) Operating System: | Blocked By: 1480 Unknown/Multiple | Related Tickets: #8337 Type of failure: | None/Unknown | Test Case: | Blocking: 7867 | -------------------------------+------------------------------------------- Changes (by errge): * status: patch => new -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8398#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8398: reify module list in TH -------------------------------------+------------------------------------- Reporter: errge | Owner: Type: feature | Status: new request | Milestone: 7.10.1 Priority: normal | Version: 7.7 Component: Template | Keywords: Haskell | Architecture: Unknown/Multiple Resolution: | Difficulty: Easy (less than 1 Operating System: | hour) Unknown/Multiple | Blocked By: 1480 Type of failure: | Related Tickets: #8337 None/Unknown | Test Case: | Blocking: 7867 | Differential Revisions: | -------------------------------------+------------------------------------- Comment (by thomie): This ticket is mentioned on [wiki:TemplateHaskell/Annotations]. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8398#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC