
#11661: Missing MonadFail instance for Q monad from TemplateHaskell -------------------------------------+------------------------------------- Reporter: PeterTrsko | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Template Haskell | Version: 8.0.1-rc2 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 PeterTrsko): Seems that `fail` is "integral part" of the `Q` monad and `fail` is part of its contract with the user. The same goes for `Quasy` type class. See e.g. `qReport` and `qRecover`. In my opinion, the only way to correctly preserve the same semantics, under `MonadFailDesugaring`, is to put `MonadFail` as a superclass of `Quasy`. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11661#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler