
#16300: Make TH always reify data types with explicit return kinds -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: (none) Type: feature request | Status: new Priority: normal | Milestone: Component: Template Haskell | Version: 8.6.3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by RyanGlScott): Replying to [comment:6 goldfire]:
Actually, maybe it would be better to have `qTypeKind :: Type -> Q Kind` and `qExprType :: Exp -> Q Type`. Then, we can avoid this whole kerfuffle for unlifted newtypes by requiring clients to just get the kind of the argument.
That's an intriguing idea.
Note that these two functions would not be particularly hard to write but would be very useful.
While I imagine one could implement these functions, I wonder what their specification should be. What should they do if their inputs are ill typed, for instance? Also, the answers that they return might change depending on whether certain language extensions are enabled. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/16300#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler