Daniel Walker | 22 Apr 00:18
Picon
Gravatar

Re: Egg review period extended until April 20th

On Tue, Apr 15, 2008 at 1:35 AM, shunsuke <pstade.mb <at> gmail.com> wrote:
> Daniel Walker wrote:
<snip>
>  > struct my_plus
>  > {
>  >    template<class> struct result;
>  >    template<class Me, class X, class Y>
>  >    struct result<Me(X,Y)>
>  >        : boost::remove_cv<X>
>  >    { };
>  >
>  >    template<class X, class Y>
>  >    typename result<my_plus(X,Y)>::type
>  >    operator()(X x, Y y) const
>  >    {
>  >        return x + y;
>  >    }
>  > };
>  >
>  > To my eye, I can't see how Egg makes things that much easier. It
>  > doesn't look particularly helpful.
>
> I was feeling annoyed that I had to write `typename result<my_plus(X,Y)>::type`.
> Also, your `result<>` implementation is wrong.
> It is error-prone to write ResultOf-conforming FunctionObject without some indirection.

How is this result<> implementation wrong? I'm not convinced that
writing result_of compatible functors is that error prone, but if I
made a mistake here, that would pretty much prove your point. ;-)

Also, I'm going to try to respond to your other comments as soon as I
can. I've been doing a little reading, and I have some suggestions for
refocusing/reframing a subset of the Egg problem domain in terms of
the standard library and Boost.Function. At least, I hope to come up
with some examples that are more concrete than I had in my original
comments.

Daniel
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost


Gmane