
#16248: ImplicitParams does not imply FlexibleContexts or FlexibleInstances -------------------------------------+------------------------------------- Reporter: NeilMitchell | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Documentation | Version: 8.6.3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by NeilMitchell): To clarify the logic I'm using here: The above code requires TypeSynonymInstances, FlexibleInstances and ImplicitParams. To successfully compile, the minimum number of extensions I can write is ImplicitParams and FlexibleInstances. TypeSynonymInstances is not required. GHC claims that FlexibleInstances implies TypeSynonymInstances, and ImplicitParams implies FlexibleInstances. As a consequence FlexibleInstances should definitely be unnecessary. But it is required, so the docs are buggy. I had implicitly assumed that implications were transitive. Whether they are or not, the ImplicitParams still doesn't appear to imply FlexibleInstances. It would be good to document this detail in the documentation. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/16248#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler