Highly Functional Programming (with a Semblance of Reason)*
Functional programming is procedural programming without the imperative. Wolf eats the lambda.
Functional programming is very pure and elegant when nothing can change, and the computer can reason about your code for you — in theory. Reality is messier, but Perl and other high-level languages support pure functions as a subset of the procedural and OO paradigms, so why don’t we use them more? Functional paradigms are good problem solving tools, required for event-driven programs, and can be mixed into traditional OO and procedural codebases for better code reuse and testability.
In this talk, we’ll look at some benefits of purely functional programming from a pragmatic and procedural viewpoint. There will be absolutely no mention of monads because we will just ride our lambdas through the mud and get it done. We’ll see how good programming practices tend to suggest stateless and functional approaches. We’ll examine techniques for refactoring which separate functions from state changes and allow you to better reason about your code. Finally, we’ll look at language interpreters and discuss how technology might be able to help get even more benefits out of highly functional programming approaches.
Eric has previously spoken at open source bridge, OSCON, and given several presentations at various local user groups.
Perl Hacker, President of Portland Perl Mongers.