• Re: nesting for loops

    From B. Pym@21:1/5 to Barry Margolin on Fri Jul 18 23:40:15 2025
    XPost: comp.lang.scheme

    Barry Margolin wrote:

    b) Using a nested LOOP _may_ be indicative that you didn't use LOOP >properly, as you can put almost infinite complexity into a single
    LOOP.

    I suppose this is possible, but I don't think it's likely. Nested loops
    are extremely common whenever you're traversing multi-dimensional
    structures, e.g. a 2-d array with

    (loop for i upto length
    do
    (loop for j upto width
    do
    (do-something-with (aref a i j))))

    or a list of lists with:

    (loop for inner in outer
    do
    (loop for item in inner
    do
    (do-something-with item)))

    LOOP has quite a bit of complexity, but it doesn't actually have any way to do either of these easily in a single loop (well, in the first case you
    could do it with ROW-MAJOR-AREF, but that's not really a LOOP feature,
    that's a special array feature).

    Gauche Scheme:

    (use srfi-42) ;; list-ec

    (list-ec [:list i '(1 10 100)] [:list j '(7 8 9)] (* i j))

    (7 8 9 70 80 90 700 800 900)

    --
    [T]he problem is that lispniks are as cultish as any other devout group and basically fall down frothing at the mouth if they see [heterodoxy].
    --- Kenny Tilton
    The good news is, it's not Lisp that sucks, but Common Lisp. --- Paul Graham

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