• Re: concentric loops

    From B. Pym@Nobody447095@here-nor-there.org to comp.lang.lisp,comp.lang.scheme on Thu Sep 12 04:41:56 2024
    From Newsgroup: comp.lang.scheme

    Peter Seibel wrote:

    ( 11 12 13 21 22 23 31 32 33)

    I know that in CL plus is replaced by +, but how can I
    handle the mapcar inside the mapcan?

    (loop for x from 10 to 30 by 10 nconcing
    (loop for y from 1 to 3 collect (+ x y)))

    Gauche Scheme

    (use srfi-42) ; list-ec

    (list-ec (:range x 10 31 10) (:range y 1 4) (+ x y))

    ===>
    (11 12 13 21 22 23 31 32 33)

    Shorter:

    (list-ec (: x 10 31 10) (: y 1 4) (+ x y))
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Kaz Kylheku@643-408-1753@kylheku.com to comp.lang.lisp,comp.lang.scheme on Thu Sep 12 12:26:44 2024
    From Newsgroup: comp.lang.scheme

    On 2024-09-12, B. Pym <Nobody447095@here-nor-there.org> wrote:
    Peter Seibel wrote:

    ( 11 12 13 21 22 23 31 32 33)

    I know that in CL plus is replaced by +, but how can I
    handle the mapcar inside the mapcan?

    (loop for x from 10 to 30 by 10 nconcing
    (loop for y from 1 to 3 collect (+ x y)))

    Gauche Scheme

    (use srfi-42) ; list-ec

    (list-ec (:range x 10 31 10) (:range y 1 4) (+ x y))


    (11 12 13 21 22 23 31 32 33)

    Shorter:

    (list-ec (: x 10 31 10) (: y 1 4) (+ x y))

    TXR Lisp:

    [maprod + (range 10 31 10) 1..4]
    (11 12 13 21 22 23 31 32 33)
    --
    TXR Programming Language: http://nongnu.org/txr
    Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
    Mastodon: @Kazinator@mstdn.ca
    --- Synchronet 3.22a-Linux NewsLink 1.2