Haskellの幾つかのアイディアを使って、自然数の定義を行います。
まずは、ありえないほどシンプルな方法から(確かPythonでも同じ記法がありますね。)
自然数の定義 記法(..)を使って
natural :: [Int]
natural = [1..]
リスト内包記法を使っての定義。
自然数の定義 リスト内包表記を使って
natural :: [Int]
natural = 1 : [ x + 1 | x <- natural ]
再帰定義を使って
自然数の定義 再帰定義による
natural::Int -> [Int]
natural n = n : natural (n+1)
なんといいますか、他の言語だとウダウダ、ダラダラ記載しないといけないところが、
たった数行で、実現出来てしまうあたりが、好きですよ。Haskell。