Boost logo

Boost Users :

Subject: Re: [Boost-users] MPL vs. Proto for EDSL dev?
From: Chris Russell (chrisrus_at_[hidden])
Date: 2013-01-04 22:52:21


Thank you, Eric. I have subscribed and am reading your article. Regards,
Chris

On 1/4/2013 5:36 PM, Eric Niebler wrote:
> On 1/4/2013 4:40 PM, Chris Russell wrote:
>> Hello, all. I'm reading the MPL book (again) and tinkering with some
>> ideas for a new library for building complex FSM hierarchies [1].
>>
>> I've got a minimal runtime library written that codifies the important
>> concepts but now want to try to make it a native C++ EDSL and am
>> wondering if it makes more sense to concentrate on MPL, Proto (or both)?
>>
>> For pure education on the subject of C++ template metaprogramming the
>> MPL and the amazing Abrahams/Gurtovoy book seems like the right starting
>> place but would appreciate any advice you folks are willing to share
>> with me.
>>
>> Thanks, Chris
>>
>> [1] I am aware of other FSM libs (e.g. StateChart, MSM) and likely some
>> of what I'm planning is redundant. That's okay: my goal is to gain
>> deeper understanding of C++ template metaprogramming by working through
>> a non-trivial problem.
>
> (Disclaimer: I'm the author of Proto and so am biased.)
>
> MPL is a general-purpose library for meta-programming, but doesn't offer
> anything specifically targeted for building EDSLs. Proto, on the other
> hand, is designed with EDSLs in mind. I think it's the better tool for
> the job. That said, many of the concepts from MPL carry over into Proto,
> so if you're setting out to learn Proto, having a grasp of MPL will help.
>
> A good way to learn more about Proto is to read the article series about
> it on cpp-next.com:
>
> http://cpp-next.com/archive/2010/08/expressive-c-introduction/
>
> There is a low-traffic mailing list dedicated to proto[*]. If you have
> questions, that's a good place to go for help. Or even stackoverflow, if
> you use the boost-proto tag.
>
> [*] http://lists.boost.org/mailman/listinfo.cgi/proto
>


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net