Maybe I'm missing the point of the question, but I'm not sure I
understand why that internal `define` is not equivalent to a `let`. It
looks like the code is binding its value and then returning that value.
Unless there's something going on here involving lazy evaluation or
something? Without knowing more about how `cons-stream`, `scale-stream`
and `add-streams` work, it's hard to know.
Do you have a pointer into SICP (chapter, exercise number, etc.)?
On 13 Dec 2021, at 14:04, Marco Antoniotti wrote:
Hi
apologies for the stupid question. I was reviewing some teaching
material
and looked at the following Scheme (form SICP) code about "streams".
(define (integral integrand initial-value dt)
(define int
(cons-stream initial-value
(add-streams (scale-stream integrand dt)
int)))
int)
The question is how you'd rendered it in Common Lisp or how you would
provide some macrology to mimic the inner define. I know this has
been
asked before... I am sure somebody knows the answer.
All the best
--
Marco Antoniotti, Professor tel. +39 - 02 64
48
79 01
DISCo, Università Milano Bicocca U14 2043
http://dcb.disco.unimib.it
Viale Sarca 336
I-20126 Milan (MI) ITALY