#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