
#11534: Allow class associated types to reference functional dependencies -------------------------------------+------------------------------------- Reporter: ekmett | Owner: Type: feature request | Status: new Priority: normal | Milestone: Component: Compiler (Type | Version: 7.10.3 checker) | Keywords: TypeFamilies, Resolution: | FunctionalDependencies Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: Other | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): I'm doubtful. Remember, * An associated type declaration is just convenient notation for a top- level declaration * Those default declarations are just an abbreviation for writing it out at every insttance With that in mind, what would we make of {{{ instance D a b => C [a] [b] where {} }}} From a fundep point of view this is fine, provided `D` has a fundep. Expanding the default decl gives {{{ instance D a b => C [a] [b] where type Bar [a] = [b] }}} which makes no sense. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11534#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler