I think that Lazy Racket should be useful for handling infinite lists. According to the Wikipedia Lazy Racket article, fibs
(the infinite list of Fibonacci numbers) can be defined as:
;; An infinite list:
(define fibs (list* 1 1 (map + fibs (cdr fibs))))
How do we define an infinite list of natural numbers?