• Re: Lis(t|p) comprehensions

    From B. Pym@Nobody447095@here-nor-there.org to comp.lang.lisp,comp.lang.scheme on Sat Jul 19 04:18:14 2025
    From Newsgroup: comp.lang.scheme

    Frank Buss wrote:

    joswig@corporate-world.lisp.de wrote:

    For combinations of this kind of stuff I really prefer the functional approach:
    CL-USER 5 > (remove-if-not 'oddp '(1 2 3))
    (1 3)

    I know it is possible, but I'm not sure aboout how to write the following with a functional approach:

    (loop for i from 1 to 10 collect (loop for j from 1 to i collect j))
    ((1) (1 2) (1 2 3) (1 2 3 4) (1 2 3 4 5) (1 2 3 4 5 6) (1 2 3 4 5 6 7) (1 2
    3 4 5 6 7 8) (1 2 3 4 5 6 7 8 9) (1 2 3 4 5 6 7 8 9 10))

    Is "map" functional enough?

    Gauche Scheme:

    (map (cut iota <> 1) (iota 10 1))

    ===>
    ((1) (1 2) (1 2 3) (1 2 3 4) (1 2 3 4 5) (1 2 3 4 5 6)
    (1 2 3 4 5 6 7) (1 2 3 4 5 6 7 8) (1 2 3 4 5 6 7 8 9)
    (1 2 3 4 5 6 7 8 9 10))
    --
    [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 --- Synchronet 3.21a-Linux NewsLink 1.2
  • From B. Pym@Nobody447095@here-nor-there.org to comp.lang.lisp,comp.lang.scheme on Sun Sep 8 21:50:31 2024
    From Newsgroup: comp.lang.scheme

    CL-USER> [x (x <- '(1 2 3)) (oddp x)]
    (1 3)

    CL-USER> (loop for x in (list 1 2 3) when (oddp x) collect x)
    (1 3)

    LOOP does some kind of list comprehension aswell, without an additional software.

    Scheme:

    (filter odd? '(3 4 5))

    (3 5)

    Does using CL cripple the brain, or does having a crippled brain
    cause one to use CL?

    If Lisp is to live, CL must die.

    --- Synchronet 3.22a-Linux NewsLink 1.2