「Streem」は、日本が誇るソフトウェア技術者まつもとゆきひろ氏が最近発表したプログラミング言語です。
まつもとゆきひろ氏といえばもちろん「Ruby」の作者として有名なわけですが、今回このStreemをRubyで実装したらどうなるか?という実装例がOKIソフトウェアのエンジニアリングソリューションセンタの技術資料「Ruby による Streem の実現」として公開され話題となっています。
同資料によると公開されたプログラムは「Ruby に元からあるクラス名その他と衝突せず,その振舞を変更することがない Ruby 2.0 の行儀のよい 1ライブラリとして Streem を実現した例」。
以下のようにStreemのサンプルとして例示されていたソースコードとほとんど同じソースコードを実行できるライブラリ「streem.rb」が公開されています。
seq(100) .| {|x| if x % 15 == 0 "FizzBuzz" elsif x % 3 == 0 "Fizz" elsif x % 5 == 0 "Buzz" else x end } | STD_OUT
このソースコードをsample.txtとして保存し、以下のように実行することができます。
ruby -r ./streem.rb < sample.txt
同サイトには、他にもGo言語によるLINQ to Objectsの試作や、Swift による LINQ to Objects の試作など興味深い情報がいくつも掲載されています。参考までに。