MoonScriptで遅延リストを実装した。
list = require 'list'
import Function, Delay, List, Array, Sequence from list
require 'std'
local fib
fib = Sequence\Table({1, 1})\appendDelay ->
fib\zipWith op['+'], fib\tail!
nat = Sequence\iterate (=> @ + 1), 0
rnd = Sequence\iterate (-> math.random 9)
seven = Sequence\pure 7
print '# Fibonacci number'
print fib
print '# Natural number'
print nat
print '# Random number'
print rnd
print rnd
print '# Sevens'
print seven
print '# Multiples of 7'
print seven\zipWith op['*'], nat出力
# Fibonacci number [1,1,2,3,5,8,13,21,34,55,...] # Natural number [1,2,3,4,5,6,7,8,9,10,...] # Random number [8,4,8,8,9,2,4,7,3,5,...] [8,4,8,8,9,2,4,7,3,5,...] # Sevens [7,7,7,7,7,7,7,7,7,7,...] # Multiples of 7 [7,14,21,28,35,42,49,56,63,70,...]
(0は自然数? ゴメンナサイ……)