[GHC] #3699: Wildcards in type functions

GHC ghc-devs at haskell.org
Mon Mar 30 13:05:17 UTC 2015


#3699: Wildcards in type functions
-------------------------------------+-------------------------------------
        Reporter:                    |                   Owner:
  MartijnVanSteenbergen              |                  Status:  new
            Type:  feature request   |               Milestone:  7.12.1
        Priority:  low               |                 Version:  6.10.4
       Component:  Compiler (Type    |                Keywords:  newcomer
  checker)                           |            Architecture:
      Resolution:                    |  Unknown/Multiple
Operating System:  Unknown/Multiple  |               Test Case:
 Type of failure:  None/Unknown      |                Blocking:
      Blocked By:                    |  Differential Revisions:
 Related Tickets:                    |
-------------------------------------+-------------------------------------

Comment (by jstolarek):

 I always imagined that `_` will be instantiated internally to a fresh type
 variable. This means that this feature would mostly affect the parser and
 renamer and by the time you reach the point when your example collision is
 checked (`FamInst.checkForConflicts`, called from
 `FamInst.checkFamInstConsistency`) the example code will look like:

 {{{#!hs
   type instance Testing (f :>: a_1234) = MyType f
   type instance Testing (a_5678 :>: g) = MyType g
 }}}
 where `a_1234` and `a_5678` are fresh type variables.

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


More information about the ghc-tickets mailing list