• Re: I cannot find a word better than "CAR"

    From B. Pym@Nobody447095@here-nor-there.org to comp.lang.lisp on Wed Aug 13 16:41:23 2025
    From Newsgroup: comp.lang.lisp

    Rob Warnock wrote:

    The one place I find myself frequently using CDD*R
    is in destructuring lists by "gulps" in LOOP, e.g.:

    > (defun group-by-triples (list)
    (loop for (a b c) on list by #'cdddr
    collect (list a b c)))

    GROUP-BY-TRIPLES
    > (group-by-triples '(0 1 2 3 4 5 6 7 8 9 10 11 12))

    ((0 1 2) (3 4 5) (6 7 8) (9 10 11) (12 NIL NIL))

    Gauche Scheme

    (define (triples s)
    (do ((r () (cons (& list 3 (pop~ s)) r)))
    ((null? s) (reverse r))))

    (triples (iota 13))
    ===>
    ((0 1 2) (3 4 5) (6 7 8) (9 10 11) (12 #f #f))

    Given:

    (define-macro &
    (lambda (op n expr) `(,op ,@(make-list n expr))))

    (define-syntax pop~
    (syntax-rules ()
    [ (_ xs)
    (if (pair? xs)
    (begin0 (car xs) (set! xs (cdr xs)))
    #f) ] ))

    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Cor@nomail@clsnet.nl to comp.lang.lisp on Mon Aug 18 20:53:53 2025
    From Newsgroup: comp.lang.lisp


    'Lorry would ne maahty fine 2

    cc
    --

    Any marginally usable programming language approaches an ill
    defined barely usable re-implementation of half of common-lisp
    'Paraphrased
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Lawrence =?iso-8859-13?q?D=FFOliveiro?=@ldo@nz.invalid to comp.lang.lisp on Mon Aug 18 23:31:30 2025
    From Newsgroup: comp.lang.lisp

    POP-2 had rCLhdrCY and rCLtlrCY (short for rCLheadrCY and rCLtailrCY, obviously).

    Actually its lists were made up of rCLpairsrCY -- records with two fields, named rCLfrontrCY and rCLbackrCY -- probably the closest equivalents to traditional Lisp rCLcarrCY and rCLcdrrCY. But the list data model included lazy
    evaluation as standard. So rCLtlrCY would look at rCLbackrCY, and if that was a
    pointer to another pair, it would return that.

    But if it was a pointer to a special object which meant rCLevaluate me to
    get the next element in the listrCY, then it would do so, substitute the returned pair as rCLbackrCY, and return it. That returned pair could have another version of the same object as its rCLbackrCY to continue the list, or rCLnilrCY to mark its end.
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Cor@nomail@clsnet.nl to comp.lang.lisp on Mon Aug 18 23:56:50 2025
    From Newsgroup: comp.lang.lisp

    Some entity, AKA Lawrence DrCOOliveiro <ldo@nz.invalid>
    wrote this mindboggling stuff:
    (selectively-snipped-or-not-p)

    POP-2 had rCLhdrCY and rCLtlrCY (short for rCLheadrCY and rCLtailrCY, obviously).

    fi and la sound more musical as first/last.

    but anyways ... ;-)

    My reaction was to that Pymlical endless postings about all
    kinds of more or less trivial stuff.
    Which by the way makes me wonder if his pymliness has ever produced
    anything halfway usefull to the nooby mouse clicking user given all the timewasting postings.

    cc
    --

    Any marginally usable programming language approaches an ill
    defined barely usable re-implementation of half of common-lisp
    'Paraphrased
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From George Neuner@gneuner2@comcast.net to comp.lang.lisp on Tue Aug 19 12:07:59 2025
    From Newsgroup: comp.lang.lisp

    On Mon, 18 Aug 2025 23:56:50 +0000, Cor <nomail@clsnet.nl> wrote:

    Some entity, AKA Lawrence DrCOOliveiro <ldo@nz.invalid>
    wrote this mindboggling stuff:
    (selectively-snipped-or-not-p)

    POP-2 had rCLhdrCY and rCLtlrCY (short for rCLheadrCY and rCLtailrCY, obviously).

    fi and la sound more musical as first/last.

    except that 'la' follows 'sew'
    8-)

    https://en.wikipedia.org/wiki/Do-Re-Mi



    but anyways ... ;-)

    My reaction was to that Pymlical endless postings about all
    kinds of more or less trivial stuff.
    Which by the way makes me wonder if his pymliness has ever produced
    anything halfway usefull to the nooby mouse clicking user given all the >timewasting postings.

    cc
    --- Synchronet 3.21a-Linux NewsLink 1.2