#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

Reply via email to