As an implementor of eager haskell, I sometimes think it would be nice if all list functions checked the length of their argument, thus stamping out infinite lists forever! In al seriousness, the prelude functions should support a lazy programming style as far as is possible. I found the "split of fixed chunks" idiom very compelling, and would find it difficult to support any semantics that would require length checks before calling take or drop. For a similar reason, I dont think negative arguments to take/drop/splitAt really make sense. I like symmetry arguments---but as a compiler writer I also have another reason to vote for take and drop to work on negative arguments. It allows me to write foldr definitions (which I can deforest, reason about equationally, etc.) without having to scribble down a side condition! -Jan-Willem Maessen
- Haskell 98: partition; and take,drop,splitAt Simon Peyton-Jones
- Re: Haskell 98: partition; and take,drop,splitAt Chris Okasaki
- Re: Haskell 98: partition; and take,drop,splitAt Joe English
- RE: Haskell 98: partition; and take,drop,splitAt Brian Boutel
- RE: Haskell 98: partition; and take,drop,splitAt Simon Peyton-Jones
- Re: Haskell 98: partition; and take,drop,splitAt Ralf Hinze
- RE: Haskell 98: partition; and take,drop,splitAt Jan-Willem Maessen
- RE: Haskell 98: partition; and take,drop,splitAt Simon Peyton-Jones
- RE: Haskell 98: partition; and take,drop,split... Ch. A. Herrmann
- RE: Haskell 98: partition; and take,drop,splitAt Simon Peyton-Jones
- RE: Haskell 98: partition; and take,drop,split... Koen Claessen
- RE: Haskell 98: partition; and take,drop,splitAt Simon Peyton-Jones
- FW: Haskell 98: partition; and take,drop,splitAt Simon Peyton-Jones
- Re: FW: Haskell 98: partition; and take,drop,s... Fergus Henderson
- Re: FW: Haskell 98: partition; and take,dr... George Russell
- Re: FW: Haskell 98: partition; and tak... Fergus Henderson
- RE: Haskell 98: partition; and take,drop,split... Brian Boutel