[GHC] #6018: Injective type families

GHC ghc-devs at haskell.org
Fri Jul 4 13:49:12 UTC 2014


#6018: Injective type families
-------------------------------+-------------------------------------------
        Reporter:  lunaris     |            Owner:  simonpj
            Type:  feature     |           Status:  new
  request                      |        Milestone:  7.10.1
        Priority:  normal      |          Version:  7.4.1
       Component:  Compiler    |         Keywords:  TypeFamilies, Injective
      Resolution:              |     Architecture:  Unknown/Multiple
Operating System:              |       Difficulty:  Unknown
  Unknown/Multiple             |       Blocked By:
 Type of failure:              |  Related Tickets:  #4259
  None/Unknown                 |
       Test Case:              |
        Blocking:              |
-------------------------------+-------------------------------------------

Comment (by goldfire):

 I thinking about this ticket, I've imagined some syntax like this:

 {{{
 type family FullyInjective a | Result -> a
        -- use a fun-dep-like syntax, where "Result" is a keyword,
 capitalized to avoid name-clashes with type variables
 type family Plus a b | Result a -> b, Result b -> a
 type family Only1stInjective a b | Result -> a
 }}}

 I could even imagine having dependencies among the arguments, though that
 might be a little strange.

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


More information about the ghc-tickets mailing list