タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

λに関するgandenのブックマーク (3)

  • Java でラムダ - IT戦記

    λ... λ... ちょっととおりますよ はじめに C++ Template の勉強をしていて、気がついた。 ネストした(内側から外側が見える)名前-値の空間が存在し 値から名前-値の空間を生成することが可能で その空間を生成するための情報を値として扱え 名前-値の空間の中の一つ以上の値を取り出せると ラムダが出来る。 という訳で Java でラムダを作ってみた import static java.lang.System.out; public class Hoge { public static void main (String args[]) { // チャーチ数 0 final λ zero = new λ () { λ call (final λ f) { return new λ () { λ call (final λ x) { return x; }}; }}; // チ

    Java でラムダ - IT戦記
    ganden
    ganden 2008/07/01
  • ラムダ計算でハマる - imHo

    チャーチ数は、関数 f を x に何回適用したか、で数を表すらしい。まずは0から、 zero = λf.λx. x 1進めた数は succ で得られる succ = λn.λf.λx. f (n f x) 2つの数 m、n の足し算は、初期値 m にさらに n 回 f を適用すれば得られる plus = λm.λn.λf.λx. n f (m f x) 掛け算は、m の加算を n 回行う、ってことかな? mult = λm.λn.λf.λx. n (m f) x ここまではなんとなくわかったんだけど、指数がどうして次のようになるのかわからない: exp = λm.λn. n m 手で展開してみる: exp 3 2 2 = λf.λx. f (f x) 3 = λf.λx. f (f (f x)) exp 3 2 = (λm.λn.λf.λx. n m f x) 3 2 = (λf.λx.

    ラムダ計算でハマる - imHo
    ganden
    ganden 2008/07/01
  • ラムダ計算ABC

    仙台ロジック倶楽部 ラムダ計算ABC 数学セミナー92年8月号より A. ラムダ計算とは 今から60年程前、プリンストン大学の若手論理学者A.チャーチが、関数の新しい表記法を提案しました。ラムダ記法と呼ばれるその表記法では、例えば二乗を計算する関数は λx.x^2 と表します。従来の"f(x)"という書き方は、それが関数を表すのか、関数のxにおける値を表すのかが曖昧なので、ラムダ記法では、関数fのxにおける値をfxで示し、xにおける値がf(x)となる関数fをλx.f(x)と表すのです。 "f(x)"という表記法の欠陥は、高校の数学までではほとんど表面化しませんが、大学に入ってから定義域や値域が関数の集合になるような高階関数(オペレータとか作用素とも呼びます)を扱いだすとすぐわかります。作用素などというとひどく特殊なもののようですが、関数f(x)にその導関数f'(x)を対応させる微分演算子D

    ganden
    ganden 2008/07/01
  • 1