> Many properties are broken anyway in presence of negative arguments
>
> drop n . drop m = drop (n+m) -- try n = -1, m = 1
> take n . drop m = drop m . take (n+m) -- try n = 1, m = -1
But following Simon assumption about collapsing integers to naturals,
you can
have
collapse n | n<0 = 0
collapse n = n
and then
drop n = drop (collapse n)
take n = take (collapse n)
so
drop n . drop m = drop (collapse n) . drop (collapse m)
= drop (collapse n + collapse m)
take n . drop m = drop m . take (collapse m + n)
I thought I was sure about undefined for n<0, but now I'm not so...
I cannot refute the foldr argument, and the collapse thing fixes any
property you can want.
Fidel.
- RE: drop & take [was: fixing typos in Haskel... Brian Boutel
- Re: drop & take [was: fixing typos in H... Craig Dickson
- Re: drop & take [was: fixing typos ... Craig Dickson
- Re: drop & take [was: fixing typos ... Fergus Henderson
- Re: drop & take [was: fixing typos in Haskel... Tom Pledger
- RE: drop & take [was: fixing typos in Haskel... Brian Boutel
- Re: drop & take [was: fixing typos in H... Fergus Henderson
- Re: drop & take [was: fixing typos in Haskel... Marcin 'Qrczak' Kowalczyk
- Re: drop & take [was: fixing typos in Haskel... Marcin 'Qrczak' Kowalczyk
- Re: drop & take [was: fixing typos in Haskel... Marcin 'Qrczak' Kowalczyk
- Specialisation by constraint [was: drop &am... Pablo E. Martinez Lopez
- Specialisation by constraint [was: drop &am... Tom Pledger
- RE: drop & take [was: fixing typos in H... Frank A. Christoph
- Re: drop & take [was: fixing typos in H... Jan Kort
- RE: drop & take [was: fixing typos in Haskel... Brian Boutel
- RE: drop & take [was: fixing typos in H... Frank A. Christoph
