
On 6/28/07, Alexander Nasonov <alnsn@yandex.ru> wrote:
Atry wrote:
The functions generated by static lambda will be very similar to C functions. It would not bind any data. Runtime cost of static lambda expression is zero.
extern "C" lambda staff ;)
Does it use local static variable to hold a state of stateful lambda objects? This fact should be documented.
I took a brief look at this. As far as I could tell Atry's library is stateless. So, it can only support a subset of the expressions that Boost.Lambda supports... namely those without state; i.e. all the parameters need to be unbound. So, it can do _1 << _2 << _3 ... but not ... cout << _1 << endl I'm not sure that this wins you a time savings over Boost.Lambda, but I believe it could win you a space saving if the static function can be inlined. I wonder how this relates to the anticipated rewrite of lambda using Phoenix. Daniel