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

Making Swift Even More Functional

mathonsunday
October 30, 2015
400

Making Swift Even More Functional

Presented at Swift Summit 2015

mathonsunday

October 30, 2015
Tweet

Transcript

  1. –The Recurse Center User’s Manual “Be rigorous. Understand how and

    why your code works. Understand your tools. If you're working with a framework (like Sinatra or Flask), learning to use it is just scratching the surface. Go deeper. Learn how it works.”
  2. – Functional Programming In Swift “Functional programmers emphasize that each

    program can be repeatedly broken into smaller and smaller pieces; all these pieces can be assembled using function application to define a complete program.”
  3. – Functional Programming In Swift “Functional programming… emphasizes the importance

    of programming with values, free of mutable state or other side effects.”
  4. vs

  5. vs

  6. STACK TRACE (fact 3) (fact-tail 3 1) (fact-tail 2 3)

    (fact-tail 1 6) (fact-tail 0 6) 6
  7. STACK TRACE (fact 3) (* 3 (fact 2)) (* 3

    (* 2 (fact 1))) (* 3 (* 2 (* 1 (fact 0)))) (* 3 (* 2 (* 1 1))) (* 3 (* 2 1))