|
Boost : |
From: Aleksey Gurtovoy (alexy_at_[hidden])
Date: 2002-03-08 09:01:07
The formal review of Lambda Library by Jaakko Järvi and Gary Powell starts
today, March 8th and runs through Wednesday, March 20th.
The library is available at
http://groups.yahoo.com/group/boost/files/lambda/lambda_2002_02_22.zip
http://groups.yahoo.com/group/boost/files/lambda/Lambda_2002_02_22.tar.gz
and also in the CVS under "lambda_development" branch (cvs update -r
lambda_development boost/lambda libs/lambda).
Below is an excerpt from the library's documentation:
The Boost Lambda Library (BLL in the sequel) is a C++ template library,
which implements form of lambda abstractions for C++. The term originates
from functional programming and lambda calculus, where a lambda abstraction
defines an unnamed function. The primary motivation for the BLL is to
provide flexible and convenient means to define unnamed function objects for
STL algorithms. In explaining what the library is about, a line of code says
more than a thousand words; the following line outputs the elements of some
STL container a separated by spaces:
for_each(a.begin(), a.end(), std::cout << _1 << ' ');
The expression
std::cout << _1 << ' '
defines a unary function object. The variable _1 is the parameter of this
function, a placeholder for the actual argument. Within each iteration of
for_each, the function is called with an element of a as the actual
argument. This actual argument is substituted for the placeholder, and the
'body' of the function is evaluated.
The essence of BLL is letting you define small unnamed function objects,
such as the one above, directly on the call site of an STL algorithm.
For information about submitting a Formal Review, see
http://www.boost.org/more/formal_review_process.htm
The "Relation to other Boost libraries" section in the library documentation
contains analysis of interaction between it, Boost.Bind and Boost.Function
libraries, which might be particularly interesting to the authors of those
two.
Please be sure to say whether or not you think the library should be
accepted by Boost.
The Formal Review manager is Aleksey Gurtovoy.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk