このブログの更新は Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama

メールでのご連絡は hiyama{at}chimaira{dot}org まで。

はじめてのメールはスパムと判定されることがあります。最初は、信頼されているドメインから差し障りのない文面を送っていただけると、スパムと判定されにくいと思います。

参照用 記事

2005-05-09から1日間の記事一覧

groovyとラムダ式(4):自由変数の束縛

λx.(x + a) のようなラムダ式で、xは仮引数(ラムダ式の束縛変数といいます)ですが、定義本体内に仮引数リストにない変数aが出てきますよね。aみたいな、仮引数宣言されてない変数を自由変数と呼びます。自由変数が、いつどのように束縛(具体化)されるか…

「Kleene代数」のプレッシャー(汗)

最近、キーワード「Kleene代数」の検索から来る人が多い(あくまで相対比率)のだけど、、、なんでだろう? と自分でgoogleを引いてみました。きょう現在、「Kleene代数」でgoogle検索すると、僕の日記エントリ(飼育記 2005-04-09 )は、1,020件中なんとト…

groovyとラムダ式(3):カリー(Curry)化

カリー化については、キマイラ・サイトのここにコソッとチョコッと書いてあったりしますが、2変数(一般にn変数)の関数を1変数関数にする手順です。例えば、Sum ≡ λx,y.(x + y) のとき、与えられたxに対して関数 λy.(x + y) を返すような関数 x → λy.(x + y…

groovyとラムダ式(2):小手調べ

Id ≡ λx.x をgroovyコードで書いてみる。 // まずは、identity Id = {|x| x} println Id(3) println Id("Hello") 3 Hello関数(クロージャ)を取り扱う関数(高階関数)の例として、“関数結合(合成)をする関数”を書いてみる。 Comp ≡ λf,g.(λx.g(fx)): //…

groovyとラムダ式(1):説明

groovyでは、{|<仮引数リスト>| <定義コード>} という構文で、無名の関数のようなものを定義できます。これをクロージャと呼んでいるみたい*1。 // 関数とクロージャdef sumFunction(x, y) { x + y } // 関数定義 println sumFunction(2, 3)sumClosure =…