My book will be about functional programming techniques in Perl. It's about how to write functions that can modify and manufacture other functions.
Why would you want to do that? Because that way your code is more flexible and more reusable. Instead of writing ten similar functions, you write a general pattern or framework that can generate the functions you want; then you generate just the functions you need according to the pattern. The program doesn't need to know in advance which functions are necessary; it can generate them as needed. Instead of writing the complete program yourself, you get the computer to write it for you.
Since drafts of chapters 1-9 are ready, these are the outlines for the current, existing drafts. They may change, but probably not too much. Chapter 10, Object Oriented Programming, is in progress. You can track its progress by visiting this page, which is updated frequently.
The rest of the outline is more tentative, because I haven't written this part of the book yet. According to the outline in my proposal, I will cover:
After the proposal was accepted, I got worried that I needed more realistic examples. The current chapters of the book do better in this regard than the preliminary outline that you see above. For example, there is extensive discussion of HTML parsing techniques. Chapter IV concludes with an improved replacement for the WWW::SimpleRobot module, with better functionality in one-third the code, and also contains a basic database query system that searches an HTTP log file backwards, delivering the most recent records first. Chapter VI discusses the frequently asked question of how to generate a list of all the strings that will match a given regex and provides an astonishingly simple solution. Chapter XII will present a complete constraint-based diagram-drawing system.
My contract says that once the book is published I will distribute the complete text from my web site. The content of my book will be available to everyone everywhere for free. Watch this space for updates.
Once published, the title of the book will probably not be "Perl Advanced Techniques Handbook". That's just the working title, the best thing I've been able to come up with so far. If you have a suggestion, please send me mail.
I send occasional updates and progress reports to a mailing list. The mailing list is extremely low-volume---it is not a discussion list. Typically, I send a message when I finish a chapter or when something else important happens. I expect total traffic over the entire life of the mailing list to be less than twenty messages.
Subscribers to the mailing list get to see draft chapters, course materials related to the book, and other goodies.
To subscribe, send mail email@example.com or submit this form:
An archive of mailing list traffic is available.
Return to: Universe of Discourse main page | What's new page | Perl Paraphernalia