(require "common.scm") (require "lazy-list.scm") ;; lazy-list-intはマクロで定義された遅延リスト構築子 ;; 1から5までの整数の遅延リスト (define ls0 (lazy-list-int 1 2 3 4 5)) ;; 1から5までの整数の遅延リスト (define ls1 (lazy-list-int 1 .. 5)) ;; 1以上の全ての整数の遅延リスト(無限リスト) (define ls2 (lazy-list-int 1 ..)) ;; 1から15までの奇数の遅延リスト (define ls3 (lazy-list-int 1 3 .. 15)) ;; 1以上の全ての奇数の遅延リスト(無限リスト) (define ls4 (lazy-list-int 1 3 ..)) ;; 5から1までの整数の遅延リスト (define ls5 (lazy-list-int 5 .. 1)) ;; リストの内包表記 (list-lc) を利用して"ls3"の内容を2乗する (LazyList.iter (fun (x) (print_int x) (print_newline) ) (list-lc (map x ls3) (* x x)) )