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

Functional programming

Functional programming

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 ( ) Ἀριάδνη