[GHC] #10704: Can't lookup fixities of infix types in Template Haskell

GHC ghc-devs at haskell.org
Wed Jul 29 14:45:55 UTC 2015


#10704: Can't lookup fixities of infix types in Template Haskell
-------------------------------------+-------------------------------------
        Reporter:  RyanGlScott       |                   Owner:
                                     |  RyanGlScott
            Type:  feature request   |                  Status:  new
        Priority:  normal            |               Milestone:
       Component:  Template Haskell  |                 Version:  7.10.1
      Resolution:                    |                Keywords:  newcomer
Operating System:  Unknown/Multiple  |            Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |               Test Case:
      Blocked By:                    |                Blocking:
 Related Tickets:                    |  Differential Revisions:  Phab:D1109
-------------------------------------+-------------------------------------

Comment (by goldfire):

 Now that this is done (see Phab:D1109 -- many thanks!), it looks like it
 could all be refactored a little more cleanly. What about

 {{{
 module TH.Syntax where
 ...

 class ... => Quasi q where
   ...
   qReifyFixity :: Name -> q Fixity

 reifyFixity :: Name -> Q Fixity
 }}}

 and then remove all of the `Fixity` fields in `Info`? This should not be a
 hard change to deal with downstream, and it would declutter things
 somewhat.

 It's true that `TyVarI` doesn't have fixities (although they should,
 morally, except that Haskell provides no way of giving a fixity
 specification to a type variable), but `PrimTyConI` ''can'' have a fixity:
 `(->)` has hard-wired fixity `infixr 0`.

 I'm not wedded to this change, but I do think it's an improvement. Speak
 up if you have a strong opinion!

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


More information about the ghc-tickets mailing list