#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

Reply via email to