<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>I have just pasted it in gsi -:s so it should be ok, please have a look. I have also tried chibi and chicken and only scheme48 was able to achieve it with less than 60MB (although it was rather slow). Please tell me if you would like to see the more crude version with delay as a thunk.<div><br></div><div>Denis</div><div><br><div>;; definitions : similar to the matching functions for lists</div><div><div>(define-syntax cons-stream</div><div>  (syntax-rules ()</div><div>    ((cons-stream a b)</div><div>      (cons a (delay b)))))</div><div><br></div><div>(define empty-stream '())</div><div>(define stream-null? null?)</div><div><br></div><div>(define (stream-car stream)</div><div>  (car stream))</div><div><br></div><div>(define (stream-cdr stream)</div><div>  (force (cdr stream)))</div><div><br></div><div>(define (stream-filter pred? stream)</div><div>  (cond</div><div>    ((stream-null? stream) empty-stream)</div><div>    ((pred? (stream-car stream))</div><div>      (cons-stream (stream-car stream) </div><div>                   (stream-filter pred? (stream-cdr stream))))</div><div>    (else</div><div>      (stream-filter pred? (stream-cdr stream)))))</div><div><br></div><div>(define (stream-ref stream n . default)</div><div>  (let loop ((s stream) (i n))</div><div>    (cond </div><div>      ((stream-null? s) (and (pair? default) (car default)))</div><div>      ((<= i 0) (stream-car s))</div><div>      (else</div><div>        (loop (stream-cdr s) (- i 1))))))</div><div><br></div><div>;; an infinite stream of ints</div><div>(define (int-from n)</div><div>  (cons-stream n (int-from (+ n 1))))</div><div><br></div><div>(define (erastho stream)</div><div>  (let ((n (stream-car stream)))</div><div>    (cons-stream n (erastho (stream-filter (lambda (i)</div><div>                                             (not (= (modulo i n) 0)))</div><div>                                           (stream-cdr stream))))))</div><div><br></div><div>;;getting the 50th prime number,</div><div>(stream-ref (erastho (int-from 2)) 50)</div><div>;;getting the 10000th prime number</div><div>(stream-ref (erastho (int-from 2)) 10000)</div><div><br></div><br><div>> CC: gambit-list@iro.umontreal.ca; lucier@math.purdue.edu<br>> From: lucier@math.purdue.edu<br>> Subject: Re: [gambit-list] Space leak or bad gc parameters?<br>> Date: Sat, 16 May 2015 19:29:50 -0400<br>> To: denis.prog@hotmail.com<br>> <br>> Show us the code. <br>> <br>> Brad <br>> <br>> Ps: Sorry about my email screw ups. <br></div></div></div>                                     </div></body>
</html>