
#6018: Injective type families -------------------------------------+------------------------------------- Reporter: lunaris | Owner: jstolarek Type: feature | Status: new request | Milestone: 7.10.1 Priority: normal | Version: 7.4.1 Component: Compiler | Keywords: TypeFamilies, Resolution: | Injective Operating System: | Architecture: Unknown/Multiple Unknown/Multiple | Difficulty: Unknown Type of failure: | Blocked By: None/Unknown | Related Tickets: #4259 Test Case: | Blocking: | Differential Revisions: | -------------------------------------+------------------------------------- Comment (by simonpj): Before embarking on the implementation, is everyone convinced that the proposed syntax {{{ type family F a :: * | result -> a }}} is the best one? I understand the desire to support injectivity in some parameters but not others. For ''closed'' type classes, can't we infer injectivity, rather than having to declare it? (Although I suppose that the ability to declare is always a Good Thing.) Simon -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/6018#comment:45 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler