$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Kevlin Henney (kevlin_at_[hidden])
Date: 2000-03-17 08:56:24
In message <B4F79D9D.2F2A%abrahams_at_[hidden]>, Dave Abrahams
<abrahams_at_[hidden]> writes
>The idea is to remove the vagaries of whether something becomes a proper
>expression template by saying all lambda expressions should begin with the
>construct
>    boost::lambda/
>
>-----
>    const lambda_t lambda;
>
>    template <class T>
>    some_expression_template_type operator/(const lambda_t&, const T&);
>
>------
>
>Since operator/ binds nearly as strongly as any other operator, something
>like this should work.
I think the aim is good, and the notation's got a lot of the right
properties. However, I was wondering about adopting a different
convention:
        (boost::lambda) a + b + c
Ie, using old style cast notation to begin the chain. So something like:
        class lambda
        {
        public:
                template<typename T> lambda(const T &);
                ...
        };
Although I've used this technique before, I haven't had the chance to
think this one through completely for the current example. Any thoughts?
____________________________________________________________
  Kevlin Henney                       Curbralan Ltd
  kevlin_at_[hidden]                +44 (0) 7801 073 508
____________________________________________________________