Functional Programming We're going to take a short break now to talk about a style of programming you may have heard of: functional programming. If you've programmed in languages like Python, Ruby or Javascript, or especially Lisp, Scheme, Clojure or Haskell, you're probably familiar with the idea of using functions as variables and using data structures with immutable state. If you've never done