Deutsch   English   Français   Italiano  
<20250619152955.11@kylheku.com>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail
From: Kaz Kylheku <643-408-1753@kylheku.com>
Newsgroups: comp.lang.lisp
Subject: Re: Multivalue tail recursion?
Date: Thu, 19 Jun 2025 22:40:27 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 37
Message-ID: <20250619152955.11@kylheku.com>
References: <1031uct$4mnm$1@dont-email.me>
Injection-Date: Fri, 20 Jun 2025 00:40:28 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="c495b87f5515ceeb64b5acf06987ff4a";
	logging-data="194670"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1/ZUdpcUNpcIaZ5SbKnJt5AxvwhrH9Ddkc="
User-Agent: slrn/pre1.0.4-9 (Linux)
Cancel-Lock: sha1:eoiYatw5oSB6lLqoTMpglzn8x/E=

On 2025-06-19, B. Pym <Nobody447095@here-nor-there.org> wrote:
>> 
>>  (loop for x in '(3 5 7)
>>        for y in '(2 5 8)
>>        when (= x y)
>>          collect (cons x y))
>
>
> What if there were more than two lists?
> This will handle any number of lists:
>
> Scheme:
>
> (filter-map
>   (lambda xs (and (apply = xs) xs))

What's wrong with (if (apply = xs) xs)?

>   '(0   3 5   7 9)
>   '(0   2 5.0 8 9.0)
>   '(2   4 5   8 9))
>
> ((5 5.0 5) (9 9.0 9))

This is nicer:

1> (mappend [iff = [chain list list]]
           '(0   3 5   7 9)
           '(0   2 5.0 8 9.0)
           '(2   4 5   8 9))
((5 5.0 5) (9 9.0 9))


-- 
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
Mastodon: @Kazinator@mstdn.ca