May's meeting has Brian Hartin of Iowa Student Loan discussing the Foundations of Functional Programming.
- How functional thinking changes how we reason about computer programs
- The killer feature of functional programming: thinking less about computers and more about computation
- Concepts such as higher-order functions, lambdas, currying, immutability, list comprehensions and algebraic data types
- Functional programming options on the JVM, including Java 8
- Problems for which functional thinking is a good solution - Even when you don't have a functional language
This talk will focus a lot on a core problem FP is trying to solve, which is that we think about computation in a less-than-efficient manner because our popular languages are leaky abstractions of a computer. In other words, "do this, then that, remember this, recall that," is a crummy way to reason. I will use some programming examples where we refactor away some complexity by introducing functional ideas such as pure functions, immutability, referential transparency, etc.