#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
Os: Unknown/Multiple | Testcase:
Architecture: Unknown/Multiple | Failure: None/Unknown
---------------------------------+------------------------------------------
Comment (by holzensp):
Oh my, so sloppy; forgot base cases. Last try.
{{{
takeRec :: Int -> [a] -> [[a]]
takeRec = genericTakeRec
genericTakeRec :: (Integral a) => a -> [b] -> [[b]]
genericTakeRec n _ | n <= 0 = []
genericTakeRec _ [] = []
genericTakeRec i xs = let (hs,ts) = genericSplitAt i xs in hs :
genericTakeRec i ts
spanRec :: (a -> Bool) -> [a] -> [[a]]
spanRec _ [] = []
spanRec p xs = let (hs,ts) = span p xs in hs : spanRec p ts
}}}
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/3671#comment:2>
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