OSCON 2006, Day 1: Higher-Order Perl

cgrau on 2006-07-25T08:40:10

I have been interested in higher-order Perl ever since the book of that title was released. While I've not read it, and I only intermittently follow the mailing list, what higher-order Perl represents fascinates me. That said, I'm a little disappointed that I opted for Mark Jason Dominus's tutorial on higher-order Perl rather than, say, Damian Conway's tutorial on Vim. Not to say that I found Mark uninteresting or uninformative. Quite the opposite, in fact. Unfortunately, most of the tutorial was below my skill level.

Having earned a degree in computer science, topics such as caching, memoization, iterators, and lexers are familiar to me. What I did find interesting, however, was Mark's application of Perl to these concepts.

Here is a language I have been using for over ten years. I consider myself an expert at using it. Even so, there is always some new trick or some new way of looking at things that I can learn and then apply to my own programs.

Coding in higher-order Perl, as it were, is coding with an entirely new set of ideas about how to program. The underlying theme of this tutorial—aside from closures, closures, closures, baked beans, and closures—was the use of open systems as building blocks. By starting small and simple, the subroutines are easy to design. By staying open and flexible, the subroutines can be used like Lego blocks to construct even the most massively complex system.