Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Functional programming

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

Functional programming

Avatar for Karel Čížek

Karel Čížek

December 27, 0998
Tweet

More Decks by Karel Čížek

Other Decks in Programming

Transcript

  1. ┌─────┬─────────┬─────────┬─────────┬───────┬─┬───┬───────────────────────┐ ├─┬─╴ ├─────┐ ╷ │ ╶─┐ ┌─┐ │ ╶───┬─╴ │

    ╶───┐ ╵ │ ╷ │ ╷ ╶───┐ ┌───────┬───╴ │ │ │ ┌─┘ ╶─┐ │ ├─┴─╴ │ │ ╵ │ ┌─╴ │ ┌─┴─┬─╴ ├───┘ │ │ └─┬─┐ ├─┘ ┌───┐ │ ╶─┬─┤ │ │ │ ┌─╴ │ │ ╵ ╶─┬─┘ │ ╶─┴─┘ ┌─┘ ╵ ╷ ╵ ┌─┘ ┌───┤ └─┐ │ │ │ ╶─┤ ╶─┤ └─┐ ╵ │ │ │ └─┘ ┌─┤ └───┬─┘ ┌─┴───────┤ ┌─┬─┴───┤ ┌─┴─┐ │ ╷ │ │ │ └─┐ ├─╴ ├─╴ ├─╴ │ │ └─────┤ └───╴ │ ┌─┘ ╷ ╶─┬─╴ │ │ │ ┌─┐ ╵ │ ╷ ╵ │ └─┤ │ │ ╷ │ │ ╶─┤ ╶─┴─┐ │ │ ╶─┬─╴ │ ┌───┬─┘ │ ┌─┴─┐ └─┐ │ │ │ ╵ └───┘ ├───┴─┐ │ ╵ │ └─┘ └─╴ ├───┐ │ │ ├─╴ │ ┌─┘ │ ╷ ╵ ╷ │ │ ╷ └─┐ │ │ ╵ ├───────┐ │ ┌─┐ │ └─╴ ├───┬───┐ │ ╷ │ └─┤ ├───┘ │ ┌─┴─┼───┘ │ ╵ │ ┌─┘ │ │ ┌─┘ ┌─┐ ╶─┘ │ │ │ └─┐ ╶─┘ ┌─┘ ╷ └─┘ │ └─┐ │ │ ╶─┐ │ ╵ ╷ │ ╶───┴─┬─┘ │ ╶─┴─┘ │ ┌─┘M└─┬───┤ │ └─┐ │ ┌───┘ ┌─┴─────┼─┐ │ │ │ ╷ └─┴─┬─┘ │ ╶───┐ └───┼─────┐ │ ├─╴ ┌─┘ ╷ │ │ ╷ ╵ ├─┘ ┌───┘ ┌───╴ ╵ │ │ │ │ ├─┬─╴ │ ╶─┴───┬─┴─┐ ╷ │ ┌─┐ └─┤ ╵ ╷ │ ┌─┘ ╵ ├─┴─┐ ╵ ┌─┴───╴ │ ┌─────┤ │ │ │ ╵ │ ╶─┴─────┐ ╵ ╷ │ │ │ │ └─┐ └───┤ │ └─┬───┘ ╷ ├───┴─╴ ┌───┼─┘ ┌─┐ │ │ │ ├─┐ ├───┬─╴ ╷ └───┤ ├─┘ │ └─╴ │ ╷ ┌─┘ └─┐ │ ╶─┬─┘ │ ╷ ╶───┘ ╷ │ ╶─┤ │ │ ╵ │ │ ╵ │ ╷ │ ╶─┴───┐ │ │ ╷ └─┬─╴ │ └─┘ ┌───┤ └─╴ │ ┌─┴─┴───┐ ┌─┤ └─┐ ╵ │ └─╴ │ ├───┘ │ └─────╴ │ │ │ ├───┘ ╶─┴─────┤ ╷ ├─────┤ │ ┌───╴ │ ╵ ├─╴ ├─┐ └───┬─┤ │ ┌───┴─────┬───┤ │ │ │ ┌───────────┤ │ │ ┌─╴ ╵ │ └─┐ ┌─┴───┘ ╷ ╵ └─┬─┐ ╵ │ │ │ ┌───┬─╴ │ ╶─┘ │ │ ╵ │ ┌───────┐ │ │ │ └─┬───┴─╴ │ ╵ ┌─────┼───┐ ╵ ├─┐ │ │ ╵ │ ╷ │ ╶─┴─┐ ┌─┘ │ ┌─┘ │ ┌─┐ ╶─┘ │ │ └─┐ │ ╷ ╷ ┌─┴─┐ │ ┌─┐ ╵ ╷ └─┐ ╵ │ │ │ ┌─┴─┤ └───┐ ├─┘ ┌─┴─┘ ┌─┤ ╵ └───┬─┘ ├─╴ │ │ │ └─┤ ╷ └─┤ │ └───┼─╴ ├───┘ │ │ ╵ ╷ └─┐ ╶─┤ │ ┌─┘ ┌─┬─┘ └─┬───┐ ╵ ┌─┤ ┌─┘ │ └─┐ │ └─┐ │ └─╴ ╷ │ ┌─┘ ┌───┤ ├───┴─╴ └─╴ │ ╵ └─╴ │ ╵ ╶─┐ ╵ ╷ └───┘ ╵ ╵ ┌─┴─╴ │ └─╴ │ └─────┘ │ ╵ ╶─┘ ╷ │ └───────────┴───────┴─────┴───┴───────────┴─────┴─────┴─────────┴───────┴─┘ λαβύρινθος
  2. ┌─────┬─────────┬─────────┬─────────┬───────┬─┬───┬───────────────────────┐ ├─┬─╴ ├─────┐ ╷ │ ╶─┐ ┌─┐ │ ╶───┬─╴ │

    ┌───┐ ╵ │ ╷ │ ╷ ╶───┐ ┌───────┬───╴ │ │ │ ┌─┘ ╶─┐ │ ├─┴─╴ │ │ ╵ │ ┌─╴ │ ┌─┘ │ ╷ ├───┘ │ │ └─┬─┐ ├─┘ ┌───┐ │ ╶─┬─┤ │ │ │ ┌─╴ │ │ ╵ ╶─┬─┘ │ ╶─┴─┘ ┌─┘ ╵ ╷ │ ├─┘ ┌───┤ └─┐ │ │ │ ╶─┤ ╶─┤ └─┐ ╵ │ │ │ └─┘ ┌─┤ └───┬─┘ ┌─┴───────┤ ╷ ┌─┘ │ │ ┌─┴─┐ │ ╷ │ │ │ └─┐ ├─╴ ├─╴ ├─╴ │ │ └─────┤ └───╴ │ ┌─┘ ╶───────┤ │ │ ╷ │ ╵ ╵ ╷ ╵ │ └─┤ │ │ ╷ │ │ ╶─┤ ╶─┴─┐ │ │ ╶─┬─╴ │ ┌───┬─┘ │ ┌─────────┴─┴─┴─┘ └─────┴───┴─────┤ │ └─┘ └─╴ ├───┐ │ │ ├─╴ │ ┌─┘ │ ╷ ╵ ╷ │ │ │ ├───┬───┐ │ ╷ │ └─┤ ├───┘ │ ┌─┴─┼───┘ │ │ ├─┘ ┌─┘ ╷ └─┘ │ └─┐ │ │ ╶─┐ │ ╵ ╷ │ ╶───┴─┤ ├───┘ ┌─┴─────┼─┐ │ │ │ ╷ └─┴─┬─┘ │ ╶───┐ │ │ ┌───┘ ┌───╴ ╵ │ │ │ │ ├─┬─╴ │ ╶─┴───┬─┴─┤ ├─┴───╴ │ ┌─────┤ │ │ │ ╵ │ ╶─┴─────┐ ╵ ╷ │ ├─╴ ┌───┼─┘ ┌─┐ │ │ │ ├─┐ ├───┬─╴ ╷ └───┤ │ ├───┘ ╷ │ ╶─┤ │ │ ╵ │ │ ╵ │ ╷ │ ╶─┴───┐ │ │ ├─┐ ┌─┤ └─┐ ╵ │ └─╴ │ ├───┘ │ └─────╴ │ │ ├─┬─────────────┬─┬─┬─────┬─┬─┬───┘ │ ╵ ├─╴ ├─┐ └───┬─┤ │ ┌───┴─────┬───┤ │ │ │ ┌───────────┤ │ │ ┌─╴ ╵ │ └─┐ ┌─┴───┘ ╷ ╵ └─┬─┐ ╵ │ │ │ ┌───┬─╴ │ ╶─┘ │ │ ╵ │ ┌───────┐ │ │ │ └─┬───┴─╴ │ ╵ ┌─────┼───┐ ╵ ├─┐ │ │ ╵ │ ╷ │ ╶─┴─┐ ┌─┘ │ ┌─┘ │ ┌─┐ ╶─┘ │ │ └─┐ │ ╷ ╷ ┌─┴─┐ │ ┌─┐ ╵ ╷ └─┐ ╵ │ │ │ ┌─┴─┤ └───┐ ├─┘ ┌─┴─┘ ┌─┤ ╵ └───┬─┘ ├─╴ │ │ │ └─┤ ╷ └─┤ │ └───┼─╴ ├───┘ │ │ ╵ ╷ └─┐ ╶─┤ │ ┌─┘ ┌─┬─┘ └─┬───┐ ╵ ┌─┤ ┌─┘ │ └─┐ │ └─┐ │ └─╴ ╷ │ ┌─┘ ┌───┤ ├───┴─╴ └─╴ │ ╵ └─╴ │ ╵ ╶─┐ ╵ ╷ └───┘ ╵ ╵ ┌─┴─╴ │ └─╴ │ └─────┘ │ ╵ ╶─┘ ╷ │ └───────────┴───────┴─────┴───┴───────────┴─────┴─────┴─────────┴───────┴─┘ Μῑνώταυρος
  3. Starring: Alan Turing as Daedalos (Δ ) αίδαλος John von

    Neumann as Íkaros ( ) καρος Peter Landin as Minōs ( ) Μίνως Ada Lovelace as Pasipháē ( ) Πασιφάη Alonzo Church as Cretan Bull Kurt Gödel as Poseidon ( ) Ποσειδῶν Joseph Marie Jacquard as Hēlios ( ) Ἠέλιος Tony Hoare as Minotaurus (Μῑνώταυρος) John McCarthy as Theseus ( ) Θησεύς Grace Hopper as Ariadne ( ) Ἀριάδνη