
#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 goldfire): Replying to [comment:50 jstolarek]:
Could you explain what you mean by `RHSs with different heads` and `below the heads`? Up till now I thought that the term "head" refers to `type family F a` part of the declaration.
Here, "head" means the head of the RHS type, not the type declaration -- it's the root of the type's AST. Does that help?
I also don't understand why `G` is not head-injective, but perhaps this
will become clear to me once earlier questions are answered. `G` isn't head-injective because both RHSs are headed by `Just`. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/6018#comment:52 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler