• When to use apply

    From Robert L.@21:1/5 to All on Fri Feb 11 09:06:10 2022
    Of course, after going through all of that you then see why loop is so
    handy:

    CL-USER> (defun nth-elements (n &rest lists)
    (loop for item in lists collect (nth n item)))

    NTH-ELEMENTS
    CL-USER> (nth-elements 3 '(10 20 hello x world) '(-1 -2 -3 y) '(z0 z1 z2 z))

    (X Y Z)

    Instead of CL, let's use a Lisp.

    Gauche Scheme:

    (define (nth-elements n . seqs)
    (map (cut list-ref <> n 'too-short) seqs))

    (nth-elements 3
    '(foo bar)
    '(10 20 hello x world)
    '(-1 -2 -3 y)
    '(z0 z1 z2 z))


    (too-short x y z)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)