Subject: Re: [boost] [Boost-announce] [metaparse] Review period starts May 25th and ends June 7th
From: Michael Caisse (mcaisse-lists_at_[hidden])
Date: 2015-06-08 03:37:51
Hello Abel and Christophe -
First off, thank you Abel for submitting such an amazing library. The
quality of the documentation and code is wonderful and it has been a
pleasure to review Metaparse.
Thank you Christophe for taking time to act as a review manager.
I reviewed Abel's updated version that follows the newer modular layout:
I used the documentation link that was originally posted.
On 05/19/2015 02:39 PM, Christophe Henry wrote:
> And a very complete tutorial:
> The tutorial also offers the nice feature of a link to metashell for
> quick-starting trying out the library:
I had some trouble using the on-line version of metashell. It kept
timing out. I downloaded a recent version and struggled with the setup
for a bit trying to get the include paths correct. Metashell is a very
neat utility; however, you might want to add a quick start appendix for
using Metashell (local version) with Metaparse considering the examples
are illustrated using the tool.
> Boost.Msm v3 also implements a new compile-time strings based front-end
> called eUML2 to demonstrate the power of the library and the conciseness
> and expressiveness it allows.
> Please have a look at the documentation:
Christophe, this is wonderful work and a great example of the usefulness
of Metaparse. Can you comment on the compile time compared to eUML?
I perused the implementation of eUML2 as an example of using Metaparse
in a "real" program. The code is very readable. Kudos!
> - What is your evaluation of the design?
- Looks clean and what one might expect for a TMP library needing to
support C++-98 compilers.
> - What is your evaluation of the implementation?
- When renaming macros, please don't just change/replace MPLLIBS to
BOOST. There are several (all?) (MPLLIBS_STRING, MPLLIBS_DEFINE_ERROR,
...) where this isn't going to work. Perhaps BOOST_MPARSE_ would be a
good replacement. I'm not opposed to BOOST_METAPARSE_.
- Helper include files are nice. metaparse/all.hpp or something like
that. I find when I an first working out a solution that having
everything included allows me to just concentrate on the grammar
details. The calculator_with_parens_and_unary_ops example has 16
individual metaparse includes!
> - What is your evaluation of the documentation?
Excellent Getting Started!
I believe others have also mentioned the "...>" prompt in the metashell
examples results in some initial confusion.
I found the User Manual and the Library reference approachable and well
I only briefly looked through the Tutorial.
Nice job on the documentation. Refreshing!
> - What is your evaluation of the potential usefulness of the library?
I believe that this library could be very useful in making cleaner
interfaces for other libraries. I see it as a tool in creating libraries
like MPL or Fusion -- a tool that can be employed to create a more
natural interface. I'm looking forward to trying it out.
> - Did you try to use the library?
Just the examples and modified versions of those.
> - With what compiler?
> - Did you have any problems?
Jamfiles had to be modified to force c++11 mode and a larger template depth.
> - How much effort did you put into your evaluation? A glance? A quick
> reading? In-depth study?
> - Are you knowledgeable about the problem domain?
I believe metaparse should be accepted as a Boost library!
Best regards -
-- Michael Caisse ciere consulting ciere.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk