 
            
            
            
            
                14 Jan
                
                    2008
                
            
            
                14 Jan
                
                '08
                
            
            
            
        
    
                4 p.m.
            
        the one thing that you miss - each time you add popular function to the base library, all programs that include this function becomes incompatible with next GHC version. i wonder whether anyone here has the experience of writing large programs and maintaining them through the years?
I import only the functions I need from libraries that I don't own myself to minimize that effect. That said, feature creep is definitely a problem. I think the GHC team will be the first to agree. But this particular function really is a natural. One point to consider - perhaps nowadays the type ought to be: concatMapM :: (Monad m, Traversable t) => (a -> m (t b)) -> t a -> m (t b) Regards, Yitz