22 Sep 01:55
[Review] Phoenix review starts today, September 21st
From: Hartmut Kaiser <hartmut.kaiser <at> gmail.com>
Subject: [Review] Phoenix review starts today, September 21st
Newsgroups: gmane.comp.lib.boost.announce
Date: 2008-09-21 23:58:13 GMT
Subject: [Review] Phoenix review starts today, September 21st
Newsgroups: gmane.comp.lib.boost.announce
Date: 2008-09-21 23:58:13 GMT
Hi all, The review of Joel de Guzmans and Dan Marsdens Phoenix V2 library starts today, September 21st 2008, and will end on September 30th. I really hope to see your vote and your participation in the discussions on the Boost mailing lists! --------------------------------------------------- About the library: The Phoenix library enables FP techniques such as higher order functions, lambda (unnamed functions), currying (partial function application) and lazy evaluation in C++. The focus is more on usefulness and practicality than purity, elegance and strict adherence to FP principles. History: Phoenix is a mature library from years of use as a sub-project under Spirit where it serves its purpose for semantic action handling. Phoenix predates Lambda's acceptance into Boost, but not Lambda itself. When Lambda was reviewed, it was concluded that both libraries were to be merged, and work on it began, culminating in Phoenix V2, what you are seeing now (an interesting offshoot of this effort is Boost.Fusion. We needed a powerful tuple facility with algorithms to get the design right). Recently, Eric Niebler did a (fully compatible) port to proto making use of boost.typeof for result type deduction. Eric's port, while significant, will not be the subject of the review, but can be regarded as the future of Phoenix (Phoenix V3). Phoenix V2 is currently a utility library included with Spirit V2 and therefore is already available from the latest Boost distributions (headers:(Continue reading)
I haven't yet thought about v3's extension
protocol. Extending Phoenix may require some Proto hacking, but it's
possible that Phoenix could provide a high-level extension interface
that hooks Proto behind the scenes. Not sure yet.
It clearly "does what it says on the tin".