#4370: Bring back monad comprehensions
------------------------------+---------------------------------------------
  Reporter:  simonpj          |          Owner:                  
      Type:  feature request  |         Status:  new             
  Priority:  normal           |      Milestone:  7.4.1           
 Component:  Compiler         |        Version:  6.12.3          
Resolution:                   |       Keywords:                  
  Testcase:                   |      Blockedby:                  
Difficulty:                   |             Os:  Unknown/Multiple
  Blocking:                   |   Architecture:  Unknown/Multiple
   Failure:  None/Unknown     |  
------------------------------+---------------------------------------------
Changes (by giorgidze):

  * owner:  nsch =>
  * status:  closed => new
  * resolution:  fixed =>


Comment:

 Currently, the munzip function is not a member of the MonadZip class. It
 has the following type signature and definition:

 {{{
 munzip :: MonadZip m => m (a,b) -> (m a, m b)
 munzip mab = (liftM fst mab, liftM snd mab)
 }}}

 When developing monad comprehension examples for various MonadZip
 instances, I found that it is useful to allow a MonadZip instance to
 provide more efficient unzipping function.

 I suggest we make the munzip function a member of the MonadZip class by
 using the current definition as a default implementation. The laws that
 the munzip member should satisfy is already documented in the module.

 The small patch that is attached to this trac ticket implements the
 proposed change.

 Cheers, George

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/4370#comment:61>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to