Io (プログラミング言語)
Hello world は次のようになる。
新たなオブジェクトはクローニングで生成される。Io では新たな空のオブジェクトが作られたとき、その親との違いだけが新しいオブジェクトに格納される。このような方式を差分継承と呼ぶ。以下に例を示す。
再帰を使わない階乗プログラムを以下に示す。
この例では range を使っているが、for ループの方が高速である。もう1つの例を以下に示す。
Io には匿名の関数を作る2つの方法がある。メソッドとブロックである。この2つの違いはスコープである。ブロックは静的スコープであり、メソッドは動的スコープである。
メソッドもブロックも高階関数である。