Deutsch English Français Italiano |
<v9jk9o$lrgv$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: "B. Pym" <Nobody447095@here-nor-there.org> Newsgroups: comp.lang.lisp Subject: Re: Detele repeated in a list Date: Thu, 15 Aug 2024 01:06:02 -0000 (UTC) Organization: A noiseless patient Spider Lines: 41 Message-ID: <v9jk9o$lrgv$1@dont-email.me> References: <v7hj6b$3ooop$1@dont-email.me> <v7hka3$3oudp$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Injection-Date: Thu, 15 Aug 2024 03:06:03 +0200 (CEST) Injection-Info: dont-email.me; posting-host="7e5ecf5f7253603983f636ec904f7241"; logging-data="716319"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/4LkR23JnqkakcsuylTum1" User-Agent: XanaNews/1.18.1.6 Cancel-Lock: sha1:0RzvAKgAShj4Scm/3L1apwdpSko= Bytes: 1713 B. Pym wrote: > B. Pym wrote: > > > Pascal Costanza wrote: > > > > > (defun rem-duplicates (list) > > > (loop for (first . rest) on (append list list) > > > unless (member first (reverse rest) :test #'equal) > > > collect first)) > > > > Gauche Scheme > > > > (define (rem-dups lst) > > (fold > > (lambda (x accum) (if (member x accum) accum (cons x accum))) > > '() > > lst)) > > > > (rem-dups '(0 2 3 4 (8 7) 3 2 0 (8 7))) > > ===> > > (4 3 2 0 (8 7)) > > Actual result: > > ((8 7) 4 3 2 0) newLISP (define (rem-dups lst) ;; Using "apply" for "reduce" or "fold". (apply (fn (accum x) (if (member x accum) accum (push x accum -1))) (cons '() lst) 2)) (rem-dups '(0 2 3 4 (8 7) 3 2 0 (8 7))) (0 2 3 4 (8 7))