#5349: Proposal: Make Q an instance of Applicative
---------------------------------+------------------------------------------
Reporter: basvandijk | Owner:
Type: feature request | Status: new
Priority: normal | Component: Template Haskell
Version: 7.0.3 | Keywords:
Testcase: | Blockedby:
Os: Unknown/Multiple | Blocking:
Architecture: Unknown/Multiple | Failure: None/Unknown
---------------------------------+------------------------------------------
The `Q` type:
{{{
newtype Q a = Q { unQ :: forall m. Quasi m => m a}
}}}
currently has an instance for `Monad` and `Functor`. I always find it
surprising when a monad doesn't have an `Applicative` instance. So I would
like to propose adding an instance for `Applicative` as well.
I also propose to make `Applicative` a superclass of the `Quasi` class:
{{{
class (Monad m, Applicative m, Functor m) => Quasi m where ...
}}}
During [http://www.haskell.org/pipermail/libraries/2011-July/016551.html
the discussion on the libraries list] Michael Snoyman, Wren ng Thornton
and Edward Kmett replied positively. There were no objections.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5349>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs