home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.lang.forth      Forth programmers eat a lot of Bratwurst      117,927 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 116,609 of 117,927   
   B. Pym to hughag...@gmail.com   
   Re: the FMITE processor   
   10 Jul 24 02:37:48   
   
   From: NoSpam_762@not_there.org   
      
   hughag...@gmail.com wrote:   
      
   > 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)   
      
   In Forth?   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca