[GHC] #10902: Refactor type families in Template Haskell
GHC
ghc-devs at haskell.org
Tue Dec 1 04:38:41 UTC 2015
#10902: Refactor type families in Template Haskell
-------------------------------------+-------------------------------------
Reporter: goldfire | Owner: johnleo
Type: task | Status: new
Priority: normal | Milestone: 8.0.1
Component: Template Haskell | Version: 7.11
Resolution: | Keywords: newcomer
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 johnleo):
Thanks for the pointer. From what I can tell the term "head" is defined
in the original paper //Type classes: an exploration of the design space//
for type class instances: Given
{{{#!hs
instance P => C T_1 ... T_n where ...
}}}
they define the head to be the part `C T_1 ... T_n` between `=>` and
`where`. They also use it without precise definition to refer to the
"class head" where again it looks like they are referring to the part
between `=>` and `where` of a type class declaration. These seem to be
the only two usages of head in sections 7.6 and 7.7 of the GHC user
manual. However by analogy it does seem that naming the part between
`type family` and `where` as the "head" of a type family declaration would
be appropriate.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10902#comment:8>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list