Rocksolid Light

Welcome to RetroBBS

mail  files  register  newsreader  groups  login

Message-ID:  

Sorry. I just realized this sentance makes no sense :) -- Ian Main


devel / comp.lang.lisp / .re: Grouping.

SubjectAuthor
o .re: Grouping.Robert L.

1
.re: Grouping.

<svuqtp$1lbf$1@gioia.aioe.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=16948&group=comp.lang.lisp#16948

  copy link   Newsgroups: comp.lang.lisp
Path: i2pn2.org!i2pn.org!aioe.org!o7yhLox5RLFUGG5YDhQgkw.user.46.165.242.75.POSTED!not-for-mail
From: No_spamming@noWhere_7073.org (Robert L.)
Newsgroups: comp.lang.lisp
Subject: .re: Grouping.
Date: Sat, 5 Mar 2022 05:02:52 -0000 (UTC)
Organization: Aioe.org NNTP Server
Message-ID: <svuqtp$1lbf$1@gioia.aioe.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Injection-Info: gioia.aioe.org; logging-data="54639"; posting-host="o7yhLox5RLFUGG5YDhQgkw.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: XanaNews/1.18.1.6
X-Notice: Filtered by postfilter v. 0.9.2
 by: Robert L. - Sat, 5 Mar 2022 05:02 UTC

Pascal Bourguignon wrote:

> ;; Smartass solution, using Common Lisp reduce:
>
> (defun group (list)
> (reduce (lambda (item result)
> (cond
> ((endp result) (list (list item)))
> ((eql (first (first result)) item) (cons (cons item (first result))
> (rest result)))
> (t (cons (list item) result))))
> list
> :from-end t
> :initial-value '()))

Shorter.

Gauche Scheme and Racket:

;; for Racket only
(require srfi/1) ;; fold-right

(define (kons x accum)
(if (or (null? accum) (not (equal? x (caar accum))))
(cons (list x) accum)
(cons (cons x (car accum)) (cdr accum))))

(define (group lst)
(fold-right
kons
'()
lst))


devel / comp.lang.lisp / .re: Grouping.

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor