Deutsch   English   Français   Italiano  
<vc04qd$h534$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: Why don't people like lisp?
Date: Fri, 13 Sep 2024 01:34:06 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 31
Message-ID: <vc04qd$h534$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Injection-Date: Fri, 13 Sep 2024 03:34:06 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="088de5f0d7e4cb39f2d25d50d7c5c4ef";
	logging-data="562276"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX18dtovrQA3KTNkT9aSKYs02"
User-Agent: XanaNews/1.18.1.6
Cancel-Lock: sha1:1A3DgXiYjoqQFuziLzdZfLh+Q4M=
Bytes: 1597

Raffael Cavallaro wrote:

> How about loop for greater clarity than either do or Python?
> 
> (loop
>    for a = 1 then b
>    and b = 1 then (+ a b)
>    do (print a))
> 
> Which neatly demonstrates the power of macros as well. If there's a

In CL (COBOL-Like), in order to print an endless sequence of fibonacci
numbers, one has to use a macro whose source code is over 60 kilobytes
in size.

In Scheme, he can simply use recursion.
(This is actually shorter than the "loop" version.)

(let fib ((a 1) (b 1))
  (print a)
  (fib b (+ a b)))

Since CL (COBOL-Like) is not a Lispy language, it does not have
much support for recursion.

A "do" loop is shorter than the "loop" loop.

(do ((a 1 b)
     (b 1 (+ a b)))
  (#f)
  (write (list a)))