You don’t have to learn Haskell or Scala or Scheme to understand functional programming.
You don’t have to use Haskell or Scala or Scheme to start reaping the benefits of the functional paradigm.
Perl 6 is a fully featured functional language, and Perl 5 offers surprisingly strong support for functional programming as well. In fact, if you’re currently coding in either Perl 5 or Perl 6, 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 either variety of modern Perl.
Topics covered include:
- What is functional programming?
- Benefits, challenges, and limitations
- Thinking functionally (with an imperative brain)
- The myth of statelessness
- Functional Perl 5
- Functional Perl 6
- 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 developers looking to take the next step up to more powerful, more efficient, and more maintainable programming techniques.