You don’t have to learn Haskell or Clojure or Scheme to understand functional programming. And you don’t have to use Haskell or Clojure or Scheme to start reaping the benefits of the functional paradigm.
Raku is a fully featured functional language, and Perl offers surprisingly strong support for functional programming as well. In fact, if you’re currently coding in either Perl or Raku, you’re almost certainly already doing functional programming.
This class explores many of the fundamental ideas and specific techniques of the functional paradigm, and demonstrates how to write clean, efficient, and maintainable functional code in both Perl and Raku.
Topics covered include:
- What is functional programming?
- Benefits, challenges, and limitations
- Thinking functionally (with an imperative brain)
- The myth of statelessness
- Functional Perl
- Functional Raku
- Subroutines and closures
- Declarative parameter lists
- Multiple dispatch
- Lexical subroutines
- Named and anonymous closures
- Code as data
- Inversion-of-control techniques
- Metaprogramming with higher-order functions
- Mapping techniques
- Reduction techniques
- Integrating imperative and functional code
- Concurrent functional programming
Half-day or 1-day seminar
Experienced Perl and Raku developers looking to take the next step up to more powerful, more efficient, and more maintainable programming techniques.