[proto] new version, breaking changes

I've just uploaded proto v3 to the file vault (http://www.boost-consulting.com/vault/index.php?directory=Template%20Metapro...). Proto is a toolkit for implementing domain-specific embedded languages in C++ using expression templates. The new version has a completely rewritten set of transforms that are incompatible with the old transforms, so this is a breaking change. You can read all about the new transforms here: http://boost-sandbox.sourceforge.net/libs/proto/doc/html/boost_proto/users_g... The short story is that transforms are now simply TR1-style function objects, and they can be composed using function types (the so-called "round lambda" syntax), making expression tree transformations readable and concise. -- Eric Niebler Boost Consulting www.boost-consulting.com

Eric Niebler wrote:
The new version has a completely rewritten set of transforms that are incompatible with the old transforms, so this is a breaking change. You can read all about the new transforms here:
http://boost-sandbox.sourceforge.net/libs/proto/doc/html/boost_proto/users_g...
Eric, In the Note under overview: ...Since terminal<long>::type and _arg are types, terminal<long>::type(_arg) is actually the type of a function that takes _arg as a parameter as returns terminal<long>::type. replacing "as returns" with "and returns" may be what you intended? Jeff Flinn GeneCodes Corporation

Jeff Flinn wrote:
Eric Niebler wrote:
The new version has a completely rewritten set of transforms that are incompatible with the old transforms, so this is a breaking change. You can read all about the new transforms here:
http://boost-sandbox.sourceforge.net/libs/proto/doc/html/boost_proto/users_g...
Eric, In the Note under overview:
...Since terminal<long>::type and _arg are types, terminal<long>::type(_arg) is actually the type of a function that takes _arg as a parameter as returns terminal<long>::type.
replacing "as returns" with "and returns" may be what you intended?
Yep, thanks. -- Eric Niebler Boost Consulting www.boost-consulting.com

On 01/22/08 20:41, Eric Niebler wrote:
I've just uploaded proto v3 to the file vault (http://www.boost-consulting.com/vault/index.php?directory=Template%20Metapro...). Proto is a toolkit for implementing domain-specific embedded languages in C++ using expression templates. [snip] You made a similar announcement in the spirit-devel list on 1/12. However, that post said the changes were in svn. Could we just update svn instead of downloading from the vault to get these changes?

Larry Evans wrote:
On 01/22/08 20:41, Eric Niebler wrote:
I've just uploaded proto v3 to the file vault (http://www.boost-consulting.com/vault/index.php?directory=Template%20Metapro...). Proto is a toolkit for implementing domain-specific embedded languages in C++ using expression templates. [snip] You made a similar announcement in the spirit-devel list on 1/12. However, that post said the changes were in svn. Could we just update svn instead of downloading from the vault to get these changes?
Yes, it's all in trunk. -- Eric Niebler Boost Consulting www.boost-consulting.com
participants (3)
-
Eric Niebler
-
Jeff Flinn
-
Larry Evans