Re: [GHC] #6018: Injective type families

#6018: Injective type families -------------------------------------+------------------------------------- Reporter: lunaris | Owner: jstolarek Type: feature request | Status: closed Priority: normal | Milestone: 8.0.1 Component: Compiler | Version: 7.4.1 Resolution: fixed | Keywords: TypeFamilies, | Injective Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: T6018, | T6018fail, T6018rnfail, T6018th, | T6018failclosed1, T6018failclosed2, | T6018ghci, T6018ghcifail, | T6018ghcirnfail Blocked By: | Blocking: Related Tickets: #4259, #10832, | Differential Rev(s): Phab:D202 #10833 | Wiki Page: | -------------------------------------+------------------------------------- Comment (by Iceland_jack): Use case of more complicated injectivity annotations from [http://www.diku.dk/~paba/pubs/files/serrano15haskell-paper.pdf Type Families with Class, Type Classes with Family], simulating the type class: {{{#!hs class Collection c e | c -> e where empty :: c add :: e -> c -> c }}} with a type family {{{#!hs data Defined = Yes | No type family IsCollection t e = (result :: Defined) | result t -> e }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/6018#comment:119 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC