Discussion:
the FMITE processor
(too old to reply)
B. Pym
2024-07-09 17:17:48 UTC
Permalink
There is no good reason to execute a lambda function after the
parent function has gone out of scope.
The original poster was so ignorant that he knew nothing
whatsoever about Usenet; in fact, he may not have known that
he was posting to Usenet. Consequently, each paragraph in
his post was one gigantic line. I broke his line for him.

In this and other posts he has provided evidence that he
is ignorant about higher-level languages and higher-level
programming concepts. In fact, he has shown that he finds
high-level concepts difficult or impossible to grasp.



(define (make-fib-gen)
(let ((a 1) (b 1))
(lambda ()
(begin0 a
(set!-values (a b) (values b (+ a b)))))))

(define fib0 (make-fib-gen))
(define fib1 (make-fib-gen))

(do ((i 5 (- i 1))) ((zero? i))
(display (fib0)) (display " "))

===>
1 1 2 3 5

(do ((i 6 (- i 1)))
((zero? i))
(display (list (fib0) (fib1)))
(newline))

===>
(8 1)
(13 1)
(21 2)
(34 3)
(55 5)
(89 8)


(define (make-accumulator)
(let ((accum '()))
(lambda xs
(if (null? xs)
(reverse accum)
(set! accum (cons (car xs) accum))))))

(define odds (make-accumulator))
(define evens (make-accumulator))
(define all (make-accumulator))

(do ((i 9 (- i 1)))
((zero? i) (values (all) (odds) (evens)))
(let ((n (fib1)))
((if (odd? n) odds evens) n)
(all n)))

===>
(13 21 34 55 89 144 233 377 610)
(13 21 55 89 233 377)
(34 144 610)
George Neuner
2024-07-10 16:02:06 UTC
Permalink
On Tue, 9 Jul 2024 17:17:48 -0000 (UTC), "B. Pym"
Post by B. Pym
The original poster was so ignorant that he knew nothing
whatsoever about Usenet ...
Can we keep it civil? There is (mostly) no need to be calling people
names.

And you are correct - most people today who do post to Usenet do so
through web gateways. Being a gmail address, the poster probably was
on Google Groups. Thankfully GG has been shut down.

Loading...