Deutsch   English   Français   Italiano  
<vcgk2r$g35t$1@dont-email.me>

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

Path: ...!feeds.phibee-telecom.net!news.mixmin.net!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,comp.lang.scheme
Subject: Re: applying macros
Date: Thu, 19 Sep 2024 07:32:45 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 16
Message-ID: <vcgk2r$g35t$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Injection-Date: Thu, 19 Sep 2024 09:32:45 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="771b02138d80f549ec3d77beeedbe017";
	logging-data="527549"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1/eJveb9vhutBzHRQsT9Bfj"
User-Agent: XanaNews/1.18.1.6
Cancel-Lock: sha1:sQKWC2jcqEAf6j8LTcpLB0ocSfw=
Bytes: 1273

Rainer Joswig wrote:

> (defun average-function (list)
>   (assert list (list)
>           "List should not be empty.")
>   (loop for i from 0
>         for item in list
>         sum item into result
>         finally (return (/ result i))))

It's shorter in Gauche Scheme.

(define (average-function lst)
  (let1 n 0
    (/ (fold (lambda (x sum) (inc! n) (+ x sum)) 0 lst)
       n)))