#4282: Proposal: make Data.List.intersperse and intercalate less strict
---------------------------------------------------+------------------------
    Reporter:  daniel.is.fischer                   |        Owner:        
        Type:  proposal                            |       Status:  new   
    Priority:  normal                              |    Milestone:        
   Component:  libraries/base                      |      Version:  6.12.3
    Keywords:  intersperse, laziness, intercalate  |     Testcase:        
   Blockedby:                                      |   Difficulty:        
          Os:  Unknown/Multiple                    |     Blocking:        
Architecture:  Unknown/Multiple                    |      Failure:  Other 
---------------------------------------------------+------------------------

Comment(by daniel.is.fischer):

 A slightly faster implementation than the proposed is
 {{{
 intersperse :: a -> [a] -> [a]
 intersperse _   []     = []
 intersperse sep (x:xs) = x : intersperseLoop s xs

 intersperseLoop :: a -> [a] -> [a]
 intersperseLoop _   []     = []
 intersperseLoop sep (x:xs) = sep : x : intersperseLoop sep xs
 }}}
 In practice, I don't expect the difference to be measurable, but
 nevertheless.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/4282#comment:9>
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