
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 This is possibly better suited for the Spirit mailing list; however, I would like to get as broad an audience as possible here. Recently, I ported the Boost.Serialization XML grammar from Spirit Classic to Spirit Qi. It was a pretty straightforward port, but I did expect an increase in the compile-time complexity of building the grammar. My reasons for this line of thinking were as follows: * Spirit 2.x is fully attributed, while Spirit 1.x is not. This increases both the amount of data that we're dealing with (every parser/generator component must have an attribute), as well as adding additional compile-time checks and transformations which much be applied to that data. * To make Spirit fully attributed, Spirit 2.x uses frameworks that Spirit Classic did not use; Boost.Proto and Boost.Fusion (Fusion was created for Spirit 2.x, I believe), as well as a newer version of Boost.Phoenix. To my knowledge, this new XML grammar is the first Boost component to use Spirit 2.x (Wave uses Spirit Classic). I believe this means this is the first time that software using Spirit 2.x has been placed under the scrutiny of Boost testing. Certainly, Spirit 2.x and the underlying libraries it uses undergo rigorous testing, but in my mind, testing a library and testing software that uses said library are two very different processes. My question stems partially from the thoughts of Serialization's maintainer, Robery Ramey: "Basically, my view is that we cannot ship something that doesn't work at least as well as the previous version." My question for you: Can software that uses Spirit Classic be ported to Spirit 2.x and retain the same level of compiler/platform compatibility without significant refactoring of the fundamental structure of the Spirit components of the software? Please do note that I believe that there is room in the Serialization XML grammar for refactoring, and I certainly don't mean to imply that the authors of Spirit, Proto, Fusion or Phoenix are at fault here in any way. - -- Bryce Lelbach aka wash http://groups.google.com/group/ariel_devel -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEARECAAYFAkzJF3UACgkQO/fqqIuE2t7j2wCgumHhaOfOEOvmZ/090cm5o7+x f9QAoOhPvph24tlpCnuTrnUdtZ6BGD6/ =Dfkl -----END PGP SIGNATURE-----