| Deutsch English Français Italiano |
|
<vtevj6$1k3qh$3@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!eternal-september.org!.POSTED!not-for-mail
From: Lawrence D'Oliveiro <ldo@nz.invalid>
Newsgroups: comp.lang.lisp
Subject: Re: A Mandelbrot set generator in HG LISP
Date: Sun, 13 Apr 2025 00:13:26 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 60
Message-ID: <vtevj6$1k3qh$3@dont-email.me>
References: <Mandelbrot-20250412145830@ram.dialup.fu-berlin.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Sun, 13 Apr 2025 02:13:27 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="5a394981b73e49d36ebf2736a3771422";
logging-data="1707857"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/sXeAWVtX7FyZuN5DML463"
User-Agent: Pan/0.162 (Pokrosvk)
Cancel-Lock: sha1:yipXFtlzOJ8lXzm5s6HuFlwPEF0=
Bytes: 2590
On 12 Apr 2025 14:01:00 GMT, Stefan Ram wrote:
> From my recent postings in other newsgroups: A generator for
> a Mandelbrot set image written in a LISP similar to the HG LISP I used
> in 1981 on my Pet 2001 as I remember it.
Looks like a Lisp-1 dialect, rather than Lisp-2. But not a Scheme
derivative?
> [extract kept as example, rest snipped]
>
> (SETQ MANDELBROT
> (LAMBDA (X Y)
> (PROGN
> (SETQ C 126)
> (SETQ Z (LIST X Y))
> (SETQ A Z)
> (SETQ ITERATE
> (LAMBDA ()
> (COND ((OR (< C 32) (> (CABS Z) 2))
> (- 126 C))
> (T
> (PROGN
> (SETQ TEMP-CMUL (CMUL Z Z))
> (SETQ TEMP-CADD (CADD A TEMP-CMUL))
> (SETQ Z TEMP-CADD)
> (SETQ C (- C 1))
> (ITERATE))))))
> (ITERATE))))
I was never a fan of “parenthesis pileup” layout. Try this for comparison:
(SETQ MANDELBROT
(LAMBDA (X Y)
(PROGN
(SETQ C 126)
(SETQ Z (LIST X Y))
(SETQ A Z)
(SETQ ITERATE
(LAMBDA ()
(COND
((OR (< C 32) (> (CABS Z) 2))
(- 126 C)
)
(T
(PROGN
(SETQ TEMP-CMUL (CMUL Z Z))
(SETQ TEMP-CADD (CADD A TEMP-CMUL))
(SETQ Z TEMP-CADD)
(SETQ C (- C 1))
(ITERATE)
) ; PROGN
)
) ; COND
) ; LAMBDA
) ; ITERATE
(ITERATE)
) ; PROGN
) ; LAMBDA
) ; MANDELBROT