5

無限リストを扱うにはLazy Racketが便利だと思います。ウィキペディアのレイジー ラケットの記事によると、fibs(フィボナッチ数の無限リスト) は次のように定義できます。

;; An infinite list:
(define fibs (list* 1 1 (map + fibs (cdr fibs))))

自然数の無限リストをどのように定義しますか?

4

2 に答える 2

3
#lang lazy

(define nats (cons 1 (map 1+ nats)))

どうやらこれは機能しないため、1+に置き換える必要があります(lambda (x) (+ x 1))。@kenokabe のテストに感謝します。(add1が正式名称です。)

于 2013-06-23T06:37:52.043 に答える