emacs-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]