Join Amazon Prime and ship Two-Day for free and Overnight for $3.99. Already a member? Sign in.
Higher-Order Perl: Transforming Programs with Programs and over 300,000 other books are available for Amazon Kindle – Amazon’s new wireless reading device. Learn more

 

or
Sign in to turn on 1-Click ordering.
 
   
More Buying Choices
44 used & new from $37.00

Have one to sell? Sell yours here
 
   
Higher-Order Perl: Transforming Programs with Programs
 
 
Start reading Higher-Order Perl: Transforming Programs with Programs on your Kindle in under a minute.

Don’t have a Kindle? Get yours here.
 
  

Higher-Order Perl: Transforming Programs with Programs (Paperback)

by Mark Jason Dominus (Author) "Until the release of Perl 5.6.0, there was no good way to generate a binary numeral in Perl..." (more)
Key Phrases: big disk, dispatch tables, semipredicate problem, Infinite Streams, New York, Tower of Hanoi (more...)
4.7 out of 5 stars See all reviews (14 customer reviews)

List Price: $72.95
Price: $49.23 & this item ships for FREE with Super Saver Shipping. Details
You Save: $23.72 (33%)
Upgrade this book for $13.19 more, and you can read, search, and annotate every page online. See details
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.

Want it delivered Monday, July 13? Choose One-Day Shipping at checkout. Details
25 new from $45.18 19 used from $37.00
Also Available in: List Price: Our Price: Other Offers:
Kindle Edition (Kindle Book) $44.31

Frequently Bought Together

Higher-Order Perl: Transforming Programs with Programs + Perl Best Practices + Perl Hacks: Tips & Tools for Programming, Debugging, and Surviving
Price For All Three: $95.39

Show availability and shipping details


Customers Who Bought This Item Also Bought

Perl Hacks: Tips & Tools for Programming, Debugging, and Surviving

Perl Hacks: Tips & Tools for Programming, Debugging, and Surviving

by chromatic
5.0 out of 5 stars (9)  $19.79
Perl Testing: A Developer's Notebook (Developers Notebook)

Perl Testing: A Developer's Notebook (Developers Notebook)

by Ian Langworth
4.1 out of 5 stars (19)  $19.77
Mastering Perl

Mastering Perl

by brian d foy
4.4 out of 5 stars (9)  $26.39
Object Oriented Perl: A Comprehensive Guide to Concepts and Programming Techniques

Object Oriented Perl: A Comprehensive Guide to Concepts and Programming Techniques

by Damian Conway
Mastering Algorithms with Perl

Mastering Algorithms with Perl

by John Macdonald
4.2 out of 5 stars (17)  $23.07
Explore similar items

Editorial Reviews

Review
"It's well written.everyone who claims to be an expert ought to read it.these techniques allow programmers to accomplish far more than they're used to."
—Gregory V. Wilson, Dr. Dobb's Journal, November 2005

"It is, quite simply, one of the best books on programming I have read for a long time."—Martin Schweitzer, Computing Reviews, Association for Computing Machinery, July 2005

"Mark Jason Dominus has hit his mark with Higher Order Perl. It is a very informative book that is a must read for Perl programmers who want to take their skills to the next level."
—Mark Rutz, Linux Journal, November 2005



"Higher-Order Perl is one of the Perl books that should have a place on the bookshelf of every Perl programmer. It offers an in-depth understanding of important programming techniques and fundamental concepts. The chapter on parsing alone is worth the price of this book. I do not know a better text about parsing in Perl."
—Reinhard Voglmaier, Unix Review, November 2005



"Higher-Order Perl is the most exciting, most clearly-written, most comprehensive, and most forward-looking programming book I've read in at least ten years. It's your map to the future of programming in any language."
—Sean M. Burke, Leading Programmer, Comprehensive Perl Archive Network (CPAN)

"There are lots of book that teach you new Perl modules or techniques. This book goes beyond that and teaches a new way to think about Perl programming."
—Peter Norvig, Google Inc.



"As a programmer, your bookshelf is probably overflowing with books that did nothing to change the way you program. . . or think about programming.

You're going to need a completely different shelf for this book.

While discussing caching techniques in Chapter 3, Mark Jason Dominus points out how a large enough increase in power can change the fundamental way you think about a technology. And that's precisely what this entire book does for Perl.

It raids the deepest vaults and highest towers of Computer Science, and transforms the many arcane treasures it finds--recursion, iterators, filters, memoization, partitioning, numerical methods, higher-order functions, currying, cutsorting, grammar-based parsing, lazy evaluation, and constraint programming--into powerful and practical tools for real-world programming tasks: file system interactions, HTML processing, database access, web spidering, typesetting, mail processing, home finance, text outlining, and diagram generation.

Along the way it also scatters smaller (but equally invaluable) gems, like the elegant explanation of the difference between 'scope' and 'duration' in Chapter 3, or the careful exploration of how best to return error flags in Chapter 4. It even has practical tips for Perl evangelists.

Dominus presents even the most complex ideas in simple, comprehensible ways, but never compromises on the precision and attention to detail for which he is so widely and justly admired.

His writing is—as always—lucid, eloquent, witty, and compelling.

Aptly named, this truly is a Perl book of a higher order, and essential reading for every serious Perl programmer."
—Damian Conway, Co-designer of Perl 6



"Higher-Order Perl is a terrific book targeted at the advanced Perl programmer with a significant computer science background. The tone, content, and code make Higher-Order Perl memorable; the knowledge, wisdom, and intuition it provides make it a book any Perl programmer should aim to understand and digest in full."."
—Teodor Zlatanov, Programmer, Gold Software Systems

Book Description
The eagerly awaited book by one of the best-known Perl developers summarizing years of innovative practice

See all Editorial Reviews

Product Details

  • Paperback: 600 pages
  • Publisher: Morgan Kaufmann (March 28, 2005)
  • Language: English
  • ISBN-10: 1558607013
  • ISBN-13: 978-1558607019
  • Product Dimensions: 9.2 x 7.5 x 1.4 inches
  • Shipping Weight: 2.6 pounds (View shipping rates and policies)
  • Average Customer Review: 4.7 out of 5 stars See all reviews (14 customer reviews)
  • Amazon.com Sales Rank: #459,303 in Books (See Bestsellers in Books)

    Popular in this category: (What's this?)

    #47 in  Books > Computers & Internet > Hardware > Parallel Processing Computers

Inside This Book (learn more)


What Do Customers Ultimately Buy After Viewing This Item?


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
Check the boxes next to the tags you consider relevant or enter your own tags in the field below.
(14)
(1)
(1)

Your tags: Add your first tag
 
Help others find this product — tag it for Amazon search
No one has tagged this product for Amazon search yet. Why not be the first to suggest a search for which it should appear?

 

Customer Reviews

14 Reviews
5 star:
 (12)
4 star:
 (1)
3 star:    (0)
2 star:
 (1)
1 star:    (0)
 
 
 
 
 
Average Customer Review
4.7 out of 5 stars (14 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

 
110 of 113 people found the following review helpful:
5.0 out of 5 stars Aptly named, April 7, 2005
As a programmer, your bookshelf is probably overflowing with books that did nothing to change the way you program...or think about programming.

You're going to need a completely different shelf for this book.

While discussing caching techniques in Chapter 3, Mark Jason Dominus points out how a large enough increase in power can change the fundamental way you think about a technology. And that's precisely what this entire book does for Perl.

It raids the deepest vaults and highest towers of Computer Science, and transforms the many arcane treasures it finds---recursion, iterators, filters, memoization, partitioning, numerical methods, higher-order functions, currying, cutsorting, grammar-based parsing, lazy evaluation, and constraint programming---into powerful and practical tools for real-world programming tasks: file system interactions, HTML processing, database access, web spidering, typesetting, mail processing, home finance, text outlining, and diagram generation.

Along the way it also scatters smaller (but equally invaluable) gems, like the elegant explanation of the difference between 'scope' and 'duration' in Chapter 3, or the careful exploration of how best to return error flags in Chapter 4. It even has practical tips for Perl evangelists.

Dominus presents even the most complex ideas in simple, comprehensible ways, but never compromises on the precision and attention to detail for which he is so widely and justly admired.

His writing is--as always--lucid, eloquent, witty, and compelling.

Aptly named, this truly is a Perl book of a higher order, and essential reading for every serious Perl programmer.
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
51 of 53 people found the following review helpful:
5.0 out of 5 stars An instant classic, March 28, 2005
By M. Friedman (Astoria, NY) - See all my reviews
(REAL NAME)   
Many in the Perl community have been eagerly awaiting Higher Order Perl, and they will not be dissapointed. Not only is this a great Perl book, it's one of the best general computer science texts I've read in a long time. Dominus focuses on the functional, LISP-like aspects of Perl, breaking readers of the procedural habits they have developed writing Perl code. The book starts with a few simple examples of callbacks and closures, and quickly moves on to developing functions that dynamically manufacture and return other functions. These techniques are used to their fullest potential as Dominus shows us how to use dynamic iterators to eliminate recursion; an invaluable technique considering Perl's lack of tail call optimization. Further techniques include using iterators to transform other iterators (analagous to Perl's map function), currying, using linked lists to create "lazy" streams that produce their data upon request, and function memoization. Dominus also makes digressions into Perl internals, giving the reader a magnificent depth of understanding about how these techniques actually function under the hood.
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
13 of 13 people found the following review helpful:
5.0 out of 5 stars Lives up to the expectations, August 6, 2006
In "Higher Order Perl" (or HOP as it's affectionately called in the Perl community), the renown Perl wizard Mark Jason Dominus (MJD) shows how to take Perl coding to the next level by applying advanced programming techniques from the domain of functional programming.

The book covers recursion (including methods to convert recursive code to iterative code), iterators, streams, memoization, currying, parsing, constraint programming and higher order functions (functions that take functions as arguments and/or return other functions). It is packed with great, sophisticated code which is explained very well and is a model for correct programming. The author takes an approach similar to Peter Norvig's PAIP - advanced coding techniques are presented, and then non-trivial programs are written to demonstrate these concepts.

The comparison with Lisp here is unavoidable, and MJD talks about Lisp in his preface. He claims that Perl shares 6 of the "7 features unique to Lisp" quoted from Norvig's PAIP, and that this basically means that most of what can be written in Lisp can be written in Perl in roughly the same manner. But as he himself admits in a later interview, the 7th "missing feature" of Lisp, namely its uniform syntax, is what *really* differentiates Lisp from the rest. Lisp's syntax allows a very clean handling of higher-order functions, list-processing, and most importantly macros. The contrast between MJD's own code in HOP and Norvig's PAIP code is the best example for this fundamental difference. Be MJD's code as clean and nice as it is (for Perl, anyway), it is nowhere near the sheer aesthetic appeal of Norvig's Lisp.

Still, Lisp is Lisp and Perl is Perl, and each has its respectable place in the world of programming. HOP is a great book to read, and I warmly recommend it to any intermediate+ Perl programmer. For people who have never programmed in Lisp or have never learned functional programming techniques, this book is a must - it will literally take your code to a higher level. For diehard fans of Lisp, this book demonstrates how to employ most of your favorite techniques in the most practical language out there (though the Perlish syntactic sugar will at times make your teeth grind).
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)


Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews

5.0 out of 5 stars Haiku on a typewriter
Non-Lisp programmers, I think, fundamentally misunderstand the appeal of Lisp, and why it is superior to other programming languages. Read more
Published 6 months ago by S. Matthews

5.0 out of 5 stars good book, for people with computer science background
good book, for people with computer science background! otherwise a little hard to understand the algorithm.
Published 9 months ago by T. Yu Yip

5.0 out of 5 stars Solving Problems using Perl in a Functiona Programming approach
Functional Programming is a programming paradigm that is very useful and must be part of the tool-arsenal of any software engineer and developer along with the well known Object... Read more
Published 23 months ago by Shlomo Yona

5.0 out of 5 stars a must-read book for serious Perl programmers
I had originally planned to read Higher Order Perl and write my review immediately. When it became clear that I wasn't going to read HOP straight through, I figured I'd write a... Read more
Published 23 months ago by Ricardo Signes

5.0 out of 5 stars Functional programming meets Perl, this is something special
In a book market awash with teach-yourself-in-x-time-units, cookbooks, and API tutorials, Higher-Order Perl is ambitious. Read more
Published 23 months ago by Thing with a hook

5.0 out of 5 stars know perl, don't know functional programming - this DA book!
I am NOT a SW guy - I am a perl autodidact HW engineer. I have written some pretty BIG "scripts" that get the job done - but a fringe "benefit" to me from the demise of the... Read more
Published on May 16, 2007 by Vesselin Kavalov

5.0 out of 5 stars Good book - Not for beginners
As you might expect from a book called Higher-Order Perl, this book is not for beginners. That said, it's a wonderful addition to an intermediate/experienced Perl programmer's... Read more
Published on March 8, 2007 by Drocer

4.0 out of 5 stars An almost must read for real programmers
Take advantage of this book to step out from day-to-day scripting with Perl to grow to programming a real applications.
Published on January 14, 2007 by Kiril Serebnik

2.0 out of 5 stars More Interesting Than Useful
This is one of those academic texts over which programming fetishists salivate. Those of us that program for a living won't find this book very useful. Read more
Published on July 25, 2006 by AisA

5.0 out of 5 stars Excellent
This book is excellent. Unless you're a programming genius as well as a Perl genius, this book will teach a a lot of cool Perl tricks, and a lot of cool programming techniques... Read more
Published on July 23, 2006 by yogamatt1970

Only search this product's reviews



Customer Discussions

 Beta (What's this?)
New! See all customer communities, and bookmark your communities to keep track of them.
This product's forum (0 discussions)
  Discussion Replies Latest Post
  No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
  [Cancel]


   


Product Information from the Amapedia Community

Beta (What's this?)



Look for Similar Items by Category


Shop in a Box with Power-Tool Combo Packs

Shop for combo packs
Expand your tool collection with a versatile combo pack. Our extensive line of combo packs includes air tools and convenient cordless power tools.

Shop combo packs

 

Big Savings in Books

Bargain Books
Find great titles at fantastic prices in our Bargain Books Store.
 

Buy Three Books, Get a Fourth Free

4-for-3 Books
Order any four eligible books under $10 and get the lowest-price book free in our 4-for-3 Books Store. See more details.
 

Find the Air Compressor to Fill Your Needs

Shop for compressors
Whether you need to power a pneumatic tool or fill a tire, an air compressor provides the power you need.

Shop for compressors

 

 

Feedback

If you need help or have a question for Customer Service, contact us.
 Would you like to update product info or give feedback on images?
Is there any other feedback you would like to provide?

Your comments can help make our site better for everyone.


Where's My Stuff?

Shipping & Returns

Need Help?

Your Recent History

  (What's this?)
You have no recently viewed items or searches.

After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.

Look to the right column to find helpful suggestions for your shopping session.

Continue shopping: Top Sellers
Glenn Beck's Common Sense
Glenn Beck's Common Sense
Darkfever
Darkfever by Karen Marie Moning
The Adventures of Sherlock Holmes
The Adventures of Sherlock Holmes by Arthur Conan, Sir, 1859-1930 Doyle

Conditions of Use | Privacy Notice © 1996-2009, Amazon.com, Inc. or its affiliates