#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

Reply via email to