4 Sep
                
                    2011
                
            
            
                4 Sep
                
                '11
                
            
            
            
        
    
                7:16 a.m.
            
        On Sun, Sep 4, 2011 at 11:34 AM, Daniel Peebles 
I was wondering what people thought of a smarter do notation.
I'd support it (for both do notation and monad comprehensions) once Applicative is a superclass of Monad. To me it looks light a slight complication for an advantage. Parsers are not the only examples that benefit. Implicitly parallel computations would be another because the arguments of <*> can be evaluated in parallel, those of >>= cannot. I think it's quite reasonable to try to desugar into the most general form. Something like do x <- something return (bla x) could (and, I think, should) be desugared by using only Functor. Sebastian