[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Negative nth index
From: |
Stefan Monnier |
Subject: |
Re: Negative nth index |
Date: |
Tue, 24 Dec 2024 00:11:26 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
>>>> Should negative index for nth be valid? e.g.
>>>> (nth -1 '(1 2)) returns 1
[ I'd make it return 2 otherwise you can't use it to return the
last element. ]
>>> What does this do in other Lisps?
>> In CL, it errors (ditto for nthcdr with negative index). Same for (nth
>> '(1 2 3) -1) in Clojure or (list-ref '(1 2 3) -1) in Scheme.
> Stefan Monnier, any comments here?
I don't see a strong argument in favor of making it index from the end
rather than signal an error. What would the implementation look like?
Would it be significantly more efficient than doing it "by hand" e.g.:
(let ((l (length X)))
(nth (if (< i 0) (- l i) i) X))
- Stefan
- Negative nth index, Anand Tamariya, 2024/12/22
- Re: Negative nth index, Eli Zaretskii, 2024/12/22
- Re: Negative nth index, Tassilo Horn, 2024/12/22
- Re: Negative nth index, Teemu Likonen, 2024/12/24
- Re: Negative nth index, Stefan Monnier, 2024/12/24
- Re: Negative nth index, Sebastián Monía, 2024/12/24
- Re: Negative nth index, Pip Cet, 2024/12/24
- Re: Negative nth index, Mattias Engdegård, 2024/12/25
- Re: Negative nth index, Pip Cet, 2024/12/25
- Re: Negative nth index, Mattias Engdegård, 2024/12/25
- Re: Negative nth index, Pip Cet, 2024/12/25