
On Tuesday 04 May 2010 02:05:03 Eric Niebler wrote:
On 4/29/2010 10:41 PM, Thomas Heller wrote:
On Thursday 29 April 2010 19:54:03 Eric Niebler wrote:
I've uploaded a simplified and cleaner version of this prototype here:
https://svn.boost.org/trac/boost/attachment/wiki/BoostPhoenix3/miniphoen ix2.cpp
It requires proto on boost trunk. At some point, I'll need to add to proto a hook to make it simpler to customize the terminal capture behavior.
Thanks for the update. I will have to examine it more closely. On first sight it looks very clean. What i miss is the easy extentability. Do you have an idea for that? I am currently working on getting Joel Falcous more phoenix like. After that, i think i will want to merge your two approaches. What do you think?
Sorry for the delayed response. Extensibility is the strength of this phoenix design. Notice that it takes only about 80 lines of code to implement the core of phoenix. Even the placeholders are implemented as non-invasive extensions of this core. It's an open question whether it's desirable to hide the proto bits when exposing these customization points, and if so, what that would look like.
After playing a little bit with your prototype I saw exactly what you mean. Plus, the question wether to hide proto details completly (if that is even possible) is quite complicated. After seeing your work I think we should not aim for that. I tried to combine the two different approaches and what i realised was, that most stuff was handled automatically by proto already.