#3671: Add partitioning functions to Data.List
-----------------------------+----------------------------------------------
Reporter: holzensp | Owner:
Type: proposal | Status: new
Priority: normal | Milestone:
Component: libraries/base | Version: 6.12.1 RC1
Resolution: | Keywords: Data.List
Difficulty: | Os: Unknown/Multiple
Testcase: | Architecture: Unknown/Multiple
Failure: None/Unknown |
-----------------------------+----------------------------------------------
Comment (by holzensp):
Ian remarked the same oversight:
http://old.nabble.com/Proposal-(Trac-ticket--3671):-Add-takeRec
,-genericTakeRec-and-spanRec-to-Data.List-td26390220.html
New suggestion (with other names as suggested in the same mail thread):
{{{
splitAts :: Int -> [a] -> [[a]]
splitAts = genericSplitAts
genericSplitAts :: (Integral a) => a -> [b] -> [[b]]
genericSplitAts n _ | n <= 0 = []
genericSplitAts _ [] = []
genericSplitAts i xs = let (hs,ts) = genericSplitAt i xs in hs :
genericSplitAts i ts
spans :: (a -> Bool) -> [a] -> [[a]]
spans _ [] = []
spans p xs = let (hs,ts) = span p xs in hs : breaks p ts
breaks :: (a -> Bool) -> [a] -> [[a]]
breaks _ [] = []
breaks p xs = let (hs,ts) = break p xs in hs : spans p ts
}}}
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/3671#comment:4>
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