SlideShare ist ein Scribd-Unternehmen logo
1 von 66
Downloaden Sie, um offline zu lesen
The Untyped
 Lambda-Calculus
     Types and Programming Languages
                                5 章
λ!
                             @rf0444
5.1
Basics
λ?


ラムダ計算 (lambda-calculus)

 関数定義 と 関数適用 だけ

 全て関数
Syntax

項 (term)

 t ::=

   x

   λx.t

   t t

           * x: 任意の変数、t: 任意の項
Syntax

項 (term)

 t ::=
                   変数
   x            (variable)
   λx.t

   t t

           * x: 任意の変数、t: 任意の項
Syntax

項 (term)

 t ::=

   x
                  ラムダ抽象
   λx.t         (abstraction)

   t t

           * x: 任意の変数、t: 任意の項
Syntax

項 (term)

 t ::=

   x

   λx.t            関数適用
                (application)
   t t

           * x: 任意の変数、t: 任意の項
Syntax
優先順位

 ラムダ抽象 - 右から

  例: λx.λy.t    =    λx.(λy.t)

 関数適用 - 左から

  例: λx.a b c       = λx.(a b) c
Scope


束縛変数 (bound variable)

 λx.t で t の中にある x のこと

 例: λx.x y での、x
Scope

自由変数 (free variable)

 項の中で、外側のラムダ抽象の変数部に現れな
 い変数のこと

 例: λx.x y での、y
Scope
閉項 (closed term)

 自由変数を含まない項のこと

 コンビネータ (combinator) ともいう

 例: λx.x

   恒等関数 (identity function)
Operational
      Semantics
関数適用

 (λx.a) b   !   [x!b]a

   a の中の x を b に置き換える

 例: (λx.x) y ! y
Operational
      Semantics
簡約基 (redex)

 (λx.a) b という形をした項のこと

β簡約 (beta-reduction)

 簡約基を、先のルールに従って書き換えること
Operational
      Semantics
簡約戦略

 full beta-reduction

 normal order strategy

 call-by-name strategy

 call-by-value strategy
Operational
       Semantics

full beta-reduction

  任意の簡約可能式を、任意のタイミングで簡
  約できる
Operational
       Semantics

normal order strategy

  最左最外簡約 (leftmost, outermost)

  左側、外側の項から順番に簡約していく
Operational
       Semantics
call-by-name strategy

  ラムダ抽象の中は簡約しない

  それ以外は normal order strategy

call-by-need strategy

  評価結果を保存して、再計算しない版
Operational
       Semantics

call-by-value strategy

  関数適用の前に、右側を先に簡約する

  それ以外は call-by-name strategy
Operational
       Semantics
call-by-value strategy

  正格 (strict)

    関数内で引数が使われなくでも、引数を評
    価する

    call-by-name/need は 遅延 (lazy)
5.2
Programming in the
 Lambda-Calculus
Multiple Arguments


2引数関数

 λ(a,b).t 的な

 λa.λb.t でできるよ!
Multiple Arguments
高階関数 (higher-order function)

 関数を引数に受け取ったり、関数を返したり
 する関数のこと

 例: λa.λb.t

   a をとって「b をとって t を返す関数」
   を返す関数
Multiple Arguments

カリー化 (currying)

 多引数の関数を、高階関数の形に変換するこ
 と

 例: λ(a,b).t   !   λa.λb.t
Church Booleans


tru = λt.λf.t



fls = λt.λf.f
Church Booleans


tru = λt.λf.t
                t: 真を表すもの


                f: 偽を表すもの
fls = λt.λf.f
Church Booleans

and = λb.λc.b c fls



or = λb.λc.b tru c

not = λb.b fls tru
Church Booleans

and = λb.λc.b c fls

                      b が真なら c
                      偽なら fls
or = λb.λc.b tru c

not = λb.b fls tru
Church Booleans

and = λb.λc.b c fls


                      b が真なら tru
or = λb.λc.b tru c
                        偽なら c
not = λb.b fls tru
Church Booleans

and = λb.λc.b c fls



or = λb.λc.b tru c

not = λb.b fls tru
                      b が真なら fls
                       偽なら tru
Church Booleans

例:

 and tru fls

     ! (λb.λc.b c fls) tru fls

     ! (λc.tru c fls) fls

     ! tru fls fls
Church Booleans
例:

 and tru fls

     ! tru fls fls

     ! (λt.λf.t) fls fls

     ! (λf.fls) fls

     ! fls
Pairs

pair = λf.λs.λb.b f s



fst = λp.p tru

snd = λp.p fls
Pairs

pair = λf.λs.λb.b f s



fst = λp.p tru          f が返る

snd = λp.p fls
                        s が返る
Pairs
例:

 fst (pair tru fls)

     ! fst ((λf.λs.λb.b f s) tru fls)

     ! fst ((λs.λb.b tru s) fls)

     ! fst (λb.b tru fls)

     ! (λp.p tru) (λb.b tru fls)
Pairs
例:

 fst (pair tru fls)

     ! (λp.p tru) (λb.b tru fls)

     ! (λb.b tru fls) tru

     ! tru tru fls

     ! (λt.λf.t) tru fls    !   tru
Church Numerals

c0 = λs.λz.z

c1 = λs.λz.s z

c2 = λs.λz.s (s z)

c3 = λs.λz.s (s (s z))

...
Church Numerals
                          z: 0 を表すもの
c0 = λs.λz.z

c1 = λs.λz.s z           s: 次を取得するもの

c2 = λs.λz.s (s z)

c3 = λs.λz.s (s (s z))

...
Church Numerals



scc = λn.λs.λz.s (n s z)
Church Numerals

              n の



scc = λn.λs.λz.s (n s z)


                次
Church Numerals


plus = λm.λn.λs.λz.m s (n s z)
Church Numerals
                          n から始めて


plus = λm.λn.λs.λz.m s (n s z)

                  m 個
                  次
Church Numerals


plus = λm.λn.λs.λz.m s (n s z)



plus = λm.λn.m scc n
Church Numerals


plus = λm.λn.λs.λz.m s (n s z)



plus = λm.λn.m scc n

           m 回         n から始めて

           scc
Church Numerals



times = λm.λn.m (plus n) c0
Church Numerals

                     0 から始めて



times = λm.λn.m (plus n) c0


               m 回
             n を足す
Church Numerals



iszro = λm.m (λx.fls) tru
Church Numerals

                   tru から始めて



iszro = λm.m (λx.fls) tru


             次は常に fls
Church Numerals


prd = λm.fst (m ss zz)

  ss = λp.pair (snd p) (scc (snd p))

  zz = pair c0 c0
Church Numerals


prd = λm.fst (m ss zz)

  ss = λp.pair (snd p) (scc (snd p))

  zz = pair c0 c0

  (0, 0) から始めて
Church Numerals


prd = λm.fst (m ss zz)

  ss = λp.pair (snd p) (scc (snd p))

  zz = pair c0 c0
                     (_, x) ! (x, x + 1)
  (0, 0) から始めて
Church Numerals
            m 回やると、
                         m = 0 の時は
            (m - 1, m)     (0, 0)


prd = λm.fst (m ss zz)

  ss = λp.pair (snd p) (scc (snd p))

  zz = pair c0 c0
                     (_, x) ! (x, x + 1)
  (0, 0) から始めて
Enriching the
        Calculus
λNB

  NB (3章) に λ を加える

  NB (Real) と λ (Church) は、

  両方とも boolean と numeral を

  持っている
Enriching the
      Calculus
Church ! Real

  realbool = λb.b true false

  realnat = λm.m (λx.succ x) 0

Real ! Church

  churchbool =

    λb.if b then tru else fls
Enriching the
     Calculus
振る舞い同値 (behaviorally equivalent)

 どんな引数に対しても、2つの評価結果が同じ

 例: call-by-value での scc c1

   (λs.λz.s ((λs’.λz’.s’ z’) s z))

   (λs.λz.s (s z)) と “振る舞い同値”
Recursion
正規形 (normal form)

 これ以上評価できない項のこと

発散 (diverge)

 正規形にならない項のこと

 例: (λx.x x) (λx.x x)   - omega
Recursion

不動点 (fixed-point)

 fix = λf.

   (λx.f (λy.x x y))

   (λx.f (λy.x x y))

              Z-combinator / call-by-value Y-combinator
             Y-combinator: λf.(λx.f (x x)) (λx.f (x x))
Recursion

不動点 (fixed-point)

 例: factorial = fix (λf.λn.

       (iszro n) c1

       (times n (f (prd n))))
Recursion

Real ! Church

  churchnat = fix (λf.λn.

    if iszero n then c0

    else scc (f (pred n))
5.3
Formalities
Syntax


項集合

 V を変数の可算集合とする

 項集合は、次を満たす最小の集合 T
Syntax

項集合 T

 x ∈ V ! x ∈ T

 t ∈ T かつ x ∈ V ! λx.t ∈ T

 s ∈ T かつ t ∈ T ! s t ∈ T
Syntax

自由変数集合

 項 t の自由変数集合 FV(t)

  FV(x) = {x}

  FV(λx.t) = FV(t) - {x}

  FV(s t) = FV(s) ∪ FV(t)
Substitution


α変換 (alpha-conversion)

 束縛変数の名前を変えること

 例: λy.x y   !   λw.x w
Substitution

置き換え

 [x!s]x = s

 [x!s]y = y

 [x!s](λy.t) = λy.[x!s]t

 [x!s](t u) = ([x!s]t) ([x!s]u)
Operational
          Semantics
Syntax

   項 (term)     値 (value)

    t ::=        v ::=

         x         λx.t

         λx.t

         t t
Operational
      Semantics
評価 (evaluation)        (call-by-value)

       t1 ! t1’
                            E-APP1
    t1 t2 ! t1’ t2


        t ! t’
                            E-APP2
      v t ! v t’


   (λx.t) v ! [x!v]t       E-APPABS

Weitere ähnliche Inhalte

Was ist angesagt?

ラムダ計算入門
ラムダ計算入門ラムダ計算入門
ラムダ計算入門Eita Sugimoto
 
ACRi HLSチャレンジ 高速化テクニック紹介
ACRi HLSチャレンジ 高速化テクニック紹介ACRi HLSチャレンジ 高速化テクニック紹介
ACRi HLSチャレンジ 高速化テクニック紹介Jun Ando
 
Zend OPcacheの速さの秘密を探る
Zend OPcacheの速さの秘密を探るZend OPcacheの速さの秘密を探る
Zend OPcacheの速さの秘密を探るYoshio Hanawa
 
How to generate PowerPoint slides Non-manually using R
How to generate PowerPoint slides Non-manually using RHow to generate PowerPoint slides Non-manually using R
How to generate PowerPoint slides Non-manually using RSatoshi Kato
 
Haswellサーベイと有限体クラスの紹介
Haswellサーベイと有限体クラスの紹介Haswellサーベイと有限体クラスの紹介
Haswellサーベイと有限体クラスの紹介MITSUNARI Shigeo
 
icecream / icecc:分散式編譯系統簡介
icecream / icecc:分散式編譯系統簡介icecream / icecc:分散式編譯系統簡介
icecream / icecc:分散式編譯系統簡介Kito Cheng
 
これから Haskell を書くにあたって
これから Haskell を書くにあたってこれから Haskell を書くにあたって
これから Haskell を書くにあたってTsuyoshi Matsudate
 
関数プログラミング入門
関数プログラミング入門関数プログラミング入門
関数プログラミング入門Hideyuki Tanaka
 
Limits by Rationalization
Limits by RationalizationLimits by Rationalization
Limits by RationalizationPablo Antuna
 
Introduction to Polyhedral Compilation
Introduction to Polyhedral CompilationIntroduction to Polyhedral Compilation
Introduction to Polyhedral CompilationAkihiro Hayashi
 
SECDマシン 実装と動きとその他もろもろについて
SECDマシン 実装と動きとその他もろもろについてSECDマシン 実装と動きとその他もろもろについて
SECDマシン 実装と動きとその他もろもろについてt-sin
 
たのしい高階関数
たのしい高階関数たのしい高階関数
たのしい高階関数Shinichi Kozake
 
Shunsuke Horii
Shunsuke HoriiShunsuke Horii
Shunsuke HoriiSuurist
 
Ch3 4 regular expression and grammar
Ch3 4 regular expression and grammarCh3 4 regular expression and grammar
Ch3 4 regular expression and grammarmeresie tesfay
 
Constraint Programming in Haskell
Constraint Programming in HaskellConstraint Programming in Haskell
Constraint Programming in HaskellDavid Overton
 
何もないところから数を作る
何もないところから数を作る何もないところから数を作る
何もないところから数を作るTaketo Sano
 
Lispmeetup #53 PythonベースのLisp方言、 Hyのすすめ
Lispmeetup #53 PythonベースのLisp方言、 HyのすすめLispmeetup #53 PythonベースのLisp方言、 Hyのすすめ
Lispmeetup #53 PythonベースのLisp方言、 HyのすすめSatoshi imai
 

Was ist angesagt? (20)

ラムダ計算入門
ラムダ計算入門ラムダ計算入門
ラムダ計算入門
 
ACRi HLSチャレンジ 高速化テクニック紹介
ACRi HLSチャレンジ 高速化テクニック紹介ACRi HLSチャレンジ 高速化テクニック紹介
ACRi HLSチャレンジ 高速化テクニック紹介
 
Sanalliset
SanallisetSanalliset
Sanalliset
 
Zend OPcacheの速さの秘密を探る
Zend OPcacheの速さの秘密を探るZend OPcacheの速さの秘密を探る
Zend OPcacheの速さの秘密を探る
 
How to generate PowerPoint slides Non-manually using R
How to generate PowerPoint slides Non-manually using RHow to generate PowerPoint slides Non-manually using R
How to generate PowerPoint slides Non-manually using R
 
Haswellサーベイと有限体クラスの紹介
Haswellサーベイと有限体クラスの紹介Haswellサーベイと有限体クラスの紹介
Haswellサーベイと有限体クラスの紹介
 
icecream / icecc:分散式編譯系統簡介
icecream / icecc:分散式編譯系統簡介icecream / icecc:分散式編譯系統簡介
icecream / icecc:分散式編譯系統簡介
 
Lesson 3: Continuity
Lesson 3: ContinuityLesson 3: Continuity
Lesson 3: Continuity
 
これから Haskell を書くにあたって
これから Haskell を書くにあたってこれから Haskell を書くにあたって
これから Haskell を書くにあたって
 
関数プログラミング入門
関数プログラミング入門関数プログラミング入門
関数プログラミング入門
 
Limits by Rationalization
Limits by RationalizationLimits by Rationalization
Limits by Rationalization
 
Introduction to Polyhedral Compilation
Introduction to Polyhedral CompilationIntroduction to Polyhedral Compilation
Introduction to Polyhedral Compilation
 
SECDマシン 実装と動きとその他もろもろについて
SECDマシン 実装と動きとその他もろもろについてSECDマシン 実装と動きとその他もろもろについて
SECDマシン 実装と動きとその他もろもろについて
 
LR PARSE.pptx
LR PARSE.pptxLR PARSE.pptx
LR PARSE.pptx
 
たのしい高階関数
たのしい高階関数たのしい高階関数
たのしい高階関数
 
Shunsuke Horii
Shunsuke HoriiShunsuke Horii
Shunsuke Horii
 
Ch3 4 regular expression and grammar
Ch3 4 regular expression and grammarCh3 4 regular expression and grammar
Ch3 4 regular expression and grammar
 
Constraint Programming in Haskell
Constraint Programming in HaskellConstraint Programming in Haskell
Constraint Programming in Haskell
 
何もないところから数を作る
何もないところから数を作る何もないところから数を作る
何もないところから数を作る
 
Lispmeetup #53 PythonベースのLisp方言、 Hyのすすめ
Lispmeetup #53 PythonベースのLisp方言、 HyのすすめLispmeetup #53 PythonベースのLisp方言、 Hyのすすめ
Lispmeetup #53 PythonベースのLisp方言、 Hyのすすめ
 

Andere mochten auch

テスト自動化読書会 第3章 20150523
テスト自動化読書会 第3章 20150523テスト自動化読書会 第3章 20150523
テスト自動化読書会 第3章 20150523dnoguchi
 
システムテスト自動化標準ガイド第7章
システムテスト自動化標準ガイド第7章システムテスト自動化標準ガイド第7章
システムテスト自動化標準ガイド第7章nihon buson
 
WooCommerce & Apple TV
WooCommerce & Apple TVWooCommerce & Apple TV
WooCommerce & Apple TVMarko Heijnen
 
20120830 DBリファクタリング読書会第三回
20120830 DBリファクタリング読書会第三回20120830 DBリファクタリング読書会第三回
20120830 DBリファクタリング読書会第三回都元ダイスケ Miyamoto
 
第4章 自動比較
第4章 自動比較第4章 自動比較
第4章 自動比較toku toku
 
アジャイルリーダーシップと組織改革 ~楽天のアジャイル開発というリアル~ エピローグ
アジャイルリーダーシップと組織改革 ~楽天のアジャイル開発というリアル~ エピローグアジャイルリーダーシップと組織改革 ~楽天のアジャイル開発というリアル~ エピローグ
アジャイルリーダーシップと組織改革 ~楽天のアジャイル開発というリアル~ エピローグDai FUJIHARA
 
すごいHaskell楽しく学ぼう 第6章
すごいHaskell楽しく学ぼう 第6章すごいHaskell楽しく学ぼう 第6章
すごいHaskell楽しく学ぼう 第6章aomori ringo
 
システムテスト自動化標準ガイド 5章発表資料
システムテスト自動化標準ガイド 5章発表資料システムテスト自動化標準ガイド 5章発表資料
システムテスト自動化標準ガイド 5章発表資料Masatoshi Itoh
 
文芸的プログラミング
文芸的プログラミング文芸的プログラミング
文芸的プログラミングShoko Sasaki
 
[デブサミ2015] スクラムならうまくいく? 〜グリーのネイティブゲーム作りの歴史をひもとく、 そして未来へ〜
[デブサミ2015] スクラムならうまくいく?〜グリーのネイティブゲーム作りの歴史をひもとく、そして未来へ〜[デブサミ2015] スクラムならうまくいく?〜グリーのネイティブゲーム作りの歴史をひもとく、そして未来へ〜
[デブサミ2015] スクラムならうまくいく? 〜グリーのネイティブゲーム作りの歴史をひもとく、 そして未来へ〜gree_tech
 
LeanCustomerDevelopment
LeanCustomerDevelopmentLeanCustomerDevelopment
LeanCustomerDevelopmentKouki Kawagoi
 
20150418 システムテスト自動化 第二章
20150418 システムテスト自動化 第二章20150418 システムテスト自動化 第二章
20150418 システムテスト自動化 第二章atsushi ishiji
 
TAPL勉強会 第1章 (2012-07-17)
TAPL勉強会 第1章 (2012-07-17)TAPL勉強会 第1章 (2012-07-17)
TAPL勉強会 第1章 (2012-07-17)none_toka
 
NaITE#15オープニング資料
NaITE#15オープニング資料NaITE#15オープニング資料
NaITE#15オープニング資料Akira Ikeda
 
Stg2015 1c-1プレゼン資料 いまココにある請負アジャイル開発現場の実態 ~4年で4億弱売上20案件以上の実践経験から語る~
Stg2015 1c-1プレゼン資料 いまココにある請負アジャイル開発現場の実態 ~4年で4億弱売上20案件以上の実践経験から語る~Stg2015 1c-1プレゼン資料 いまココにある請負アジャイル開発現場の実態 ~4年で4億弱売上20案件以上の実践経験から語る~
Stg2015 1c-1プレゼン資料 いまココにある請負アジャイル開発現場の実態 ~4年で4億弱売上20案件以上の実践経験から語る~健 渡会
 
システムテスト自動化標準ガイド 読書会 第8章
システムテスト自動化標準ガイド 読書会 第8章システムテスト自動化標準ガイド 読書会 第8章
システムテスト自動化標準ガイド 読書会 第8章mirer
 
名前付けのすすめ / GMOペパボ株式会社 鹿島恵実(かしめぐ)
名前付けのすすめ / GMOペパボ株式会社 鹿島恵実(かしめぐ)名前付けのすすめ / GMOペパボ株式会社 鹿島恵実(かしめぐ)
名前付けのすすめ / GMOペパボ株式会社 鹿島恵実(かしめぐ)Kashima Megumi
 
不確実性への挑戦Ver0.1
不確実性への挑戦Ver0.1不確実性への挑戦Ver0.1
不確実性への挑戦Ver0.1naoto kyo
 
要注意!?効果の出ない技術研修に共通する3つのこと
要注意!?効果の出ない技術研修に共通する3つのこと要注意!?効果の出ない技術研修に共通する3つのこと
要注意!?効果の出ない技術研修に共通する3つのことcodecampJP
 

Andere mochten auch (20)

テスト自動化読書会 第3章 20150523
テスト自動化読書会 第3章 20150523テスト自動化読書会 第3章 20150523
テスト自動化読書会 第3章 20150523
 
システムテスト自動化標準ガイド第7章
システムテスト自動化標準ガイド第7章システムテスト自動化標準ガイド第7章
システムテスト自動化標準ガイド第7章
 
WooCommerce & Apple TV
WooCommerce & Apple TVWooCommerce & Apple TV
WooCommerce & Apple TV
 
20120830 DBリファクタリング読書会第三回
20120830 DBリファクタリング読書会第三回20120830 DBリファクタリング読書会第三回
20120830 DBリファクタリング読書会第三回
 
第4章 自動比較
第4章 自動比較第4章 自動比較
第4章 自動比較
 
アジャイルリーダーシップと組織改革 ~楽天のアジャイル開発というリアル~ エピローグ
アジャイルリーダーシップと組織改革 ~楽天のアジャイル開発というリアル~ エピローグアジャイルリーダーシップと組織改革 ~楽天のアジャイル開発というリアル~ エピローグ
アジャイルリーダーシップと組織改革 ~楽天のアジャイル開発というリアル~ エピローグ
 
すごいHaskell楽しく学ぼう 第6章
すごいHaskell楽しく学ぼう 第6章すごいHaskell楽しく学ぼう 第6章
すごいHaskell楽しく学ぼう 第6章
 
システムテスト自動化標準ガイド 5章発表資料
システムテスト自動化標準ガイド 5章発表資料システムテスト自動化標準ガイド 5章発表資料
システムテスト自動化標準ガイド 5章発表資料
 
文芸的プログラミング
文芸的プログラミング文芸的プログラミング
文芸的プログラミング
 
[デブサミ2015] スクラムならうまくいく? 〜グリーのネイティブゲーム作りの歴史をひもとく、 そして未来へ〜
[デブサミ2015] スクラムならうまくいく?〜グリーのネイティブゲーム作りの歴史をひもとく、そして未来へ〜[デブサミ2015] スクラムならうまくいく?〜グリーのネイティブゲーム作りの歴史をひもとく、そして未来へ〜
[デブサミ2015] スクラムならうまくいく? 〜グリーのネイティブゲーム作りの歴史をひもとく、 そして未来へ〜
 
LeanCustomerDevelopment
LeanCustomerDevelopmentLeanCustomerDevelopment
LeanCustomerDevelopment
 
20150418 システムテスト自動化 第二章
20150418 システムテスト自動化 第二章20150418 システムテスト自動化 第二章
20150418 システムテスト自動化 第二章
 
TAPL勉強会 第1章 (2012-07-17)
TAPL勉強会 第1章 (2012-07-17)TAPL勉強会 第1章 (2012-07-17)
TAPL勉強会 第1章 (2012-07-17)
 
NaITE#15オープニング資料
NaITE#15オープニング資料NaITE#15オープニング資料
NaITE#15オープニング資料
 
Stg2015 1c-1プレゼン資料 いまココにある請負アジャイル開発現場の実態 ~4年で4億弱売上20案件以上の実践経験から語る~
Stg2015 1c-1プレゼン資料 いまココにある請負アジャイル開発現場の実態 ~4年で4億弱売上20案件以上の実践経験から語る~Stg2015 1c-1プレゼン資料 いまココにある請負アジャイル開発現場の実態 ~4年で4億弱売上20案件以上の実践経験から語る~
Stg2015 1c-1プレゼン資料 いまココにある請負アジャイル開発現場の実態 ~4年で4億弱売上20案件以上の実践経験から語る~
 
 
  
 
 
システムテスト自動化標準ガイド 読書会 第8章
システムテスト自動化標準ガイド 読書会 第8章システムテスト自動化標準ガイド 読書会 第8章
システムテスト自動化標準ガイド 読書会 第8章
 
名前付けのすすめ / GMOペパボ株式会社 鹿島恵実(かしめぐ)
名前付けのすすめ / GMOペパボ株式会社 鹿島恵実(かしめぐ)名前付けのすすめ / GMOペパボ株式会社 鹿島恵実(かしめぐ)
名前付けのすすめ / GMOペパボ株式会社 鹿島恵実(かしめぐ)
 
不確実性への挑戦Ver0.1
不確実性への挑戦Ver0.1不確実性への挑戦Ver0.1
不確実性への挑戦Ver0.1
 
要注意!?効果の出ない技術研修に共通する3つのこと
要注意!?効果の出ない技術研修に共通する3つのこと要注意!?効果の出ない技術研修に共通する3つのこと
要注意!?効果の出ない技術研修に共通する3つのこと
 

Ähnlich wie Tapl 5

代数的データ型をラムダ計算の中で表現する方法
代数的データ型をラムダ計算の中で表現する方法代数的データ型をラムダ計算の中で表現する方法
代数的データ型をラムダ計算の中で表現する方法syamino
 
Tpp2012 mwpl on_coq
Tpp2012 mwpl on_coqTpp2012 mwpl on_coq
Tpp2012 mwpl on_coqSUDA Keishi
 
言語処理系入門€5
言語処理系入門€5言語処理系入門€5
言語処理系入門€5Kenta Hattori
 
Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)Masahiro Sakai
 
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1hirokazutanaka
 
Introduction to Categorical Programming
Introduction to Categorical ProgrammingIntroduction to Categorical Programming
Introduction to Categorical ProgrammingMasahiro Sakai
 
(Lambdaだけで) 純LISPのような ナニかを作る
(Lambdaだけで)純LISPのようなナニかを作る(Lambdaだけで)純LISPのようなナニかを作る
(Lambdaだけで) 純LISPのような ナニかを作るDaichi Teruya
 
Rのoptim関数でロバスト回帰(LMSとLAV)
Rのoptim関数でロバスト回帰(LMSとLAV)Rのoptim関数でロバスト回帰(LMSとLAV)
Rのoptim関数でロバスト回帰(LMSとLAV)wada, kazumi
 
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4
2013.12.26 prml勉強会 線形回帰モデル3.2~3.42013.12.26 prml勉強会 線形回帰モデル3.2~3.4
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4Takeshi Sakaki
 
東京都市大学 データ解析入門 5 スパース性と圧縮センシング 2
東京都市大学 データ解析入門 5 スパース性と圧縮センシング 2東京都市大学 データ解析入門 5 スパース性と圧縮センシング 2
東京都市大学 データ解析入門 5 スパース性と圧縮センシング 2hirokazutanaka
 
Deep learning _linear_algebra___probablity___information
Deep learning _linear_algebra___probablity___informationDeep learning _linear_algebra___probablity___information
Deep learning _linear_algebra___probablity___informationtakutori
 

Ähnlich wie Tapl 5 (20)

代数的データ型をラムダ計算の中で表現する方法
代数的データ型をラムダ計算の中で表現する方法代数的データ型をラムダ計算の中で表現する方法
代数的データ型をラムダ計算の中で表現する方法
 
Pythonintro
PythonintroPythonintro
Pythonintro
 
Church Numerals
Church NumeralsChurch Numerals
Church Numerals
 
Tpp2012 mwpl on_coq
Tpp2012 mwpl on_coqTpp2012 mwpl on_coq
Tpp2012 mwpl on_coq
 
20180728 halide-study
20180728 halide-study20180728 halide-study
20180728 halide-study
 
言語処理系入門€5
言語処理系入門€5言語処理系入門€5
言語処理系入門€5
 
Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)
 
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
 
Introduction to Categorical Programming
Introduction to Categorical ProgrammingIntroduction to Categorical Programming
Introduction to Categorical Programming
 
(Lambdaだけで) 純LISPのような ナニかを作る
(Lambdaだけで)純LISPのようなナニかを作る(Lambdaだけで)純LISPのようなナニかを作る
(Lambdaだけで) 純LISPのような ナニかを作る
 
NLPforml5
NLPforml5NLPforml5
NLPforml5
 
5 Info Theory
5 Info Theory5 Info Theory
5 Info Theory
 
Rのoptim関数でロバスト回帰(LMSとLAV)
Rのoptim関数でロバスト回帰(LMSとLAV)Rのoptim関数でロバスト回帰(LMSとLAV)
Rのoptim関数でロバスト回帰(LMSとLAV)
 
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4
2013.12.26 prml勉強会 線形回帰モデル3.2~3.42013.12.26 prml勉強会 線形回帰モデル3.2~3.4
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4
 
東京都市大学 データ解析入門 5 スパース性と圧縮センシング 2
東京都市大学 データ解析入門 5 スパース性と圧縮センシング 2東京都市大学 データ解析入門 5 スパース性と圧縮センシング 2
東京都市大学 データ解析入門 5 スパース性と圧縮センシング 2
 
Deep learning _linear_algebra___probablity___information
Deep learning _linear_algebra___probablity___informationDeep learning _linear_algebra___probablity___information
Deep learning _linear_algebra___probablity___information
 
Sml#探検隊
Sml#探検隊Sml#探検隊
Sml#探検隊
 
Lispでやる記号微分
Lispでやる記号微分Lispでやる記号微分
Lispでやる記号微分
 
Clean
Clean Clean
Clean
 
Clean
Clean Clean
Clean
 

Mehr von rf0444

FRP in Practice
FRP in PracticeFRP in Practice
FRP in Practicerf0444
 
Start FRP
Start FRPStart FRP
Start FRPrf0444
 
PFDS 11.2.2
PFDS 11.2.2PFDS 11.2.2
PFDS 11.2.2rf0444
 
PFDS 10.1.2
PFDS 10.1.2PFDS 10.1.2
PFDS 10.1.2rf0444
 
PFDS 9.3.2
PFDS 9.3.2PFDS 9.3.2
PFDS 9.3.2rf0444
 
PFDS 9.3.1
PFDS 9.3.1PFDS 9.3.1
PFDS 9.3.1rf0444
 
PFDS 8.4.1
PFDS 8.4.1PFDS 8.4.1
PFDS 8.4.1rf0444
 
PFDS 7.4
PFDS 7.4PFDS 7.4
PFDS 7.4rf0444
 
Haskellday rf
Haskellday rfHaskellday rf
Haskellday rfrf0444
 
PFDS 6.4.3
PFDS 6.4.3PFDS 6.4.3
PFDS 6.4.3rf0444
 

Mehr von rf0444 (11)

SWF
SWFSWF
SWF
 
FRP in Practice
FRP in PracticeFRP in Practice
FRP in Practice
 
Start FRP
Start FRPStart FRP
Start FRP
 
PFDS 11.2.2
PFDS 11.2.2PFDS 11.2.2
PFDS 11.2.2
 
PFDS 10.1.2
PFDS 10.1.2PFDS 10.1.2
PFDS 10.1.2
 
PFDS 9.3.2
PFDS 9.3.2PFDS 9.3.2
PFDS 9.3.2
 
PFDS 9.3.1
PFDS 9.3.1PFDS 9.3.1
PFDS 9.3.1
 
PFDS 8.4.1
PFDS 8.4.1PFDS 8.4.1
PFDS 8.4.1
 
PFDS 7.4
PFDS 7.4PFDS 7.4
PFDS 7.4
 
Haskellday rf
Haskellday rfHaskellday rf
Haskellday rf
 
PFDS 6.4.3
PFDS 6.4.3PFDS 6.4.3
PFDS 6.4.3
 

Tapl 5