プログラミング言語 Egison - 直感をそのまま表現するパターンマッチング - Egison は1つの定まった標準形を持たないデータに対しても柔軟なパターンマッチが表現可能なプログラミング言語です。 リストや多重集合、集合、ツリー、グラフなどといった幅広いデータ型に対して、パターンマッチが記述できます。 それにより、Egison プログラマは非常にシンプルにプログラムを記述できるようになります。 -- 素数の無限リストから全ての双子素数をパターンマッチにより抽出 def twinPrimes := matchAll primes as list integer with | _ ++ $p :: #(p + 2) :: _ -> (p, p + 2) -- 最初の10個の双子素数を列挙 take 10 twinPrimes -- => [(3, 5), (5, 7), (11, 13)