2016-11-20 11:42 GMT+01:00 Jan Synáček <jan.syna...@gmail.com>:

>
> >> Please, tell me that this is just a mistake... This can't be true. I
> >> still can't believe it. This is from 2.0.11. Please, tell me that the
> >> implementation is fixed in 2.2.
> >>
> >> Yours truly puzzled,
> >
> >
> > I don't know why you find it so puzzling. You can't take or drop
> something
> > that "isn't there" (you can't take a car or cdr from an empty list as
> well,
> > although e.g. in the language of "The Little Prover" (car '()) and (cdr
> '())
> > both evaluate to '() to assure their totality). If you need, you can
> define
> > your own variants that take/drop at most n elements of list.
>
> Not only that you "can", it's also IMHO a fool-proof implementation
> and I can't see any reason why it should behave differently.
>

Because someone might think that if he took 7 elements, then he has 7
elements, so it is good that he knows earlier that this is not the case. I
don't see a point in referring to Haskell documentation when discussing
Scheme functions, though (if you try Racket, you'll note that although its
take has a reversed order of arguments compared to srfi-1, it still doesn't
allow to take or drop a positive number of elements from an empty list)

I agree though that the srfi-1 document isn't explicit enough about this
point.

Reply via email to