2013-12-01から1ヶ月間の記事一覧
G*アドベントカレンダー2013第23日目の記事です。大域AST変換と拡張メソッドを使って、Groovyでリスト内包表記を使えるようにしてみます。リスト内包表記(list comprehension)というのは、HaskellとかScalaとかPythonにも似たものがある便利な言語機能であり…
これはマイナー言語 Advent Calendar 2013の21日目の記事です。 Frege(フレーゲ*1 )を紹介します。 Fregeは、Java VM上で動作するHaskell風の言語です。以下のような特徴を持っています。 純関数型言語 非正格評価(いわゆる遅延評価) Hindley-Milner型推論に…
フィボナッチ数ってあるじゃないですか。 Java8のStreamを使って書いてみます。Groovyで。 import static java.util.stream.Collectors.* import java.util.stream.* println Stream.iterate([1l, 1l]) { (old1, old2) = it [old1+old2, old1] }.map{it[1]}.…