$30 off During Our Annual Pro Sale. View Details »

高階関数みたいな鳥たちの森

 高階関数みたいな鳥たちの森

#megurorb

Hiroki Yoshioka

October 29, 2018
Tweet

More Decks by Hiroki Yoshioka

Other Decks in Programming

Transcript

  1. Copyright Drecom Co., Ltd. All Rights Reserved. !1
    ߴ֊ؔ਺Έ͍ͨͳௗͨͪͷ৿

    ٢ԬͻΖ͖ʢ͍Ζ JSPIJSPLJʣ

    View Slide

  2. Copyright Drecom Co., Ltd. All Rights Reserved. !2
    高階関数みたいな鳥たちが
    思い通りの返事をするように
    並べましょう。
    Bluebird!

    View Slide

  3. Copyright Drecom Co., Ltd. All Rights Reserved. !3
    鳥A に「B」と呼びかけると
    「B」と返す

    B
    B
    A
    AB = B
    記法

    View Slide

  4. Copyright Drecom Co., Ltd. All Rights Reserved. !4
    鳥Aに「B」と呼びかけて
    教えてもらった鳥に
    「C」と呼びかける

    B
    A
    ABC

    C
    記法

    View Slide

  5. Copyright Drecom Co., Ltd. All Rights Reserved. !5
    Identity Bird
    Ix = x

    x
    x
    I

    View Slide

  6. Copyright Drecom Co., Ltd. All Rights Reserved.
    Kestrel - チョウゲンボウ
    !6
    Kxy = x

    x
    K

    y x

    View Slide

  7. Copyright Drecom Co., Ltd. All Rights Reserved.
    Starling - ムクドリ
    !7
    Sxyz = xz(yz)

    x
    S

    y

    z

    View Slide

  8. Copyright Drecom Co., Ltd. All Rights Reserved.
    例題
    !8
    Sxyz = xz(yz)
    Iと同じ返事になるように、KとSを並べなさい 

    (K S 何⽻ )
    Ix = x
    Kxy = x

    View Slide

  9. Copyright Drecom Co., Ltd. All Rights Reserved.
    Kxy = x
    考え中…
    !9
    KxyのxにSを入れてみる
    KSy = S
    Ix = x

    View Slide

  10. Copyright Drecom Co., Ltd. All Rights Reserved.
    考え中……
    !10
    SxyzのxにKを入れてみる
    Sxyz = xz(yz)
    SKyz = Kz(yz)
    = z
    Ix = x
    Kxy = x

    View Slide

  11. Copyright Drecom Co., Ltd. All Rights Reserved.

    !11
    SKKx = Kx(Kx) = x
    I = SKK

    View Slide

  12. Copyright Drecom Co., Ltd. All Rights Reserved. !12
    Mx = xx

    x
    M
    Mockingbird - マネシツグミ

    View Slide

  13. Copyright Drecom Co., Ltd. All Rights Reserved.
    問題1.
    !13
    Sxyz = xz(yz)
    Mと同じ返事になるように、SとIを並べなさい 

    (S I 何⽻ )
    Ix = x
    Mx = xx

    View Slide

  14. Copyright Drecom Co., Ltd. All Rights Reserved. !14
    Dove & Bluebird - ハト&ルリコマドリ
    Dxyzw = xy(zw)
    Bxyz = x(yz)

    View Slide

  15. Copyright Drecom Co., Ltd. All Rights Reserved.
    問題2.
    !15
    Dと同じ返事になるようにBを並べなさい 

    (B 何⽻ )
    Dxyzw = xy(zw)
    Bxyz = x(yz)

    View Slide

  16. Copyright Drecom Co., Ltd. All Rights Reserved. !16
    Thrush & Cardinal - ツグミ&ショウジョウコウカンチョウ
    Txy = yx
    Cxyz = xzy

    View Slide

  17. Copyright Drecom Co., Ltd. All Rights Reserved.
    問題3.
    !17
    Tと同じ返事になるようにCとIを並べなさい 

    (C I 何⽻ )
    Txy = yx
    Cxyz = xzy
    Ix = x

    View Slide

  18. Copyright Drecom Co., Ltd. All Rights Reserved.
    簡単すぎるという人へ
    !18
    すべての鳥は、SとKで再現できるそうですよ
    Txy = yx
    Sxyz = xz(yz)
    Kxy = x
    Bxyz = x(yz)
    Ix = SKKx = x

    View Slide

  19. Copyright Drecom Co., Ltd. All Rights Reserved. !19
    応用例と参考文献
    yield_self 使 - Qiita
    Raymond M. Smullyan, To Mock a Mocking Bird
    森北出版『 ⿃ 』(訳本)

    View Slide

  20. Copyright Drecom Co., Ltd. All Rights Reserved.
    解答
    !20
    問題1. M = SII
    問題2. D = BB
    問題3. T = CI

    View Slide