On 05/10/10 08:51, Thomas Heller wrote:
Having that said, just having "plain" evaluation of phoenix expressions
seemed to me that it is wasting of what could become possible with the power
of proto. I want to do more with phoenix expressions, let me remind you that
phoenix is "C++ in C++" and with that i want to be able to write some cool
algorithms transforming these proto expressions, introspect these proto
expression and actively influence the way these phoenix expressions get
evaluated/optimized/whatever. One application of these custom evaluations
that came to my mind was constant folding, so i implemented it on top of my
new prototype. The possibilities are endless: A proper design will enable
such things as multistage programming: imagine an evaluator which does not
compute the result, but translate a phoenix expression to a string which can
be compiled by an openCL/CUDA/shader compiler. Another thing might be auto
parallelization of phoenix expression (of course, we are far away from that,
we would need a proper graph library for that). Nevertheless, these were
some thoughts I had in mind.


Not tha t far, it's basically what's my cohort of tools odes all by themselves with a clunky code base. If it get streamlined so tha i can reuse phoenix as a back end, it's just done. Period. We already have the openCL things working and running and even out performing commercial product ... We just need a proper code base ;)

As far as my memories go, we abandoned those prototypes because of several
reasons, one was that this early prototype was quite complex and not very
easy to follow, i guess this is true for my attempt to resurrect it. The
other thing was that people felt like we exposed too much of proto to users
who wanted to extend phoenix. Last but least, it differed too much from the
design of phoenix2. See my explanations above on my try to tackle the
criticism on all these points.

It didn't exposed tha much proto ... unless you consider proto::_ to be too much :/ And back in the day, I didn't knew making the new phoenix a clone of the old was a design requirements ;)
_______________________________________________
proto mailing list
proto@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/proto

Reply via email to