$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [Boost-users] [Proto] implementing an computer algebra system with proto
From: MaximYanchenko (maximyanchenko_at_[hidden])
Date: 2009-01-28 00:47:17
Hi Eric,
> Here is a toy example to get you started.
> 
>          , proto::when<
>                proto::assign<
>                    proto::plus<proto::terminal<placeholder>, _>
>                  , _
>                >
It looks like this "when" matches everything (at least with my compiler), not
only plus (as supposed to), for example it matches multiplication as well:
       proto::display_expr( var_ * 1 = 2 );
       proto::display_expr( Solve()( var_ * 1 = 2 ) );
Output:
assign(
    multiplies(      // <<<<< multiplication 
        terminal(var_)
      , terminal(1)
    )
  , terminal(2)
)
assign(
    terminal(var_)
  , minus(           // <<<<< minus
        terminal(2)
      , terminal(1)
    )
)
I'm using proto from boost 1.37.0, gcc 3.4.6.
Thanks,
Maxim