Discussion:
concentric loops
(too old to reply)
B. Pym
2024-09-12 04:41:56 UTC
Permalink
--> ( 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))
Kaz Kylheku
2024-09-12 12:26:44 UTC
Permalink
Post by B. Pym
--> ( 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)
(list-ec (: x 10 31 10) (: y 1 4) (+ x y))
TXR Lisp:

1> [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: @***@mstdn.ca
Loading...