I think that if we could write a Pd => GIMPLE converter (hence a Pd frontend) for gcc, that gcc could do quite a lot of optimization for us. I could be wrong but I have the impression that every message between Pd objects is sent as an abstracted structure and not optimized for architecture to the extent compilers do (could be wrong, but would be positively amazed if I am).
This ability would further not only the goals of optimization freaks but also those of dataflow programming in general (stepping into C or other is like admitting -whether correct or not- dataflow is insufficient, at least in practice as long as we cant compile...)
Also people would be able to write general software in dataflow languages. Whether it be drivers, pd-developer code, ...
We could bootstrap Pd for example, so that users who at first use Pd for audio, then start to code in GEM later could also start to adapt their interface or fix inner workings of Pd, in my view the original poster is a vote towards this end.
The opensource fanatics fear could be that software written in Pd, could be shared in a non-opensource way. I have the impression this is the reason none of the devellopers work on this: http://puredata.info/docs/faq/standalone states:
"This is currently not possible to compile a patch into a binary program. Pd patch files are always plain text and need the Pd program to run.
However, the main reason why Max/MSP and similar allow you to create a standalone application is to distribute a patch without having to pay license fees to the distributor. Since Pure Data is Free Software, you can just distribute your patch along with the needed Pd binary.
On Mac OS X, Pd-extended 0.41.4 makes it easy to make such a distribution. You can make a standalone .app using the "Make app from" menu options in the File menu."
First it is mentioned that it is currently not possible (without any concrete reference to existant intention or not) Then it inverts the reason why Pd does or does not have this to the reason why Max/MSP have mechanisms to distribute without having to pay the distributor (being Max/MSP?) as opposed to the patch creator?
Without speaking for the original poster, I view his question as a desire for compiling dataflow (in his example Pd). He clearly states he searches for a way to do this without having to recode the entire patch (devaluating his original work in Pd itself). That a similar question resides in Frequently (!) Asked Questions confirms my suspicion that there is a user base which would benefit from such possibility.
I think as soon as the GIMPLE Front End has materialized enough (currently a Google Summer of Code project) would be a very good time to design a Pd => Gimple converter (Front End). (GIMPLE is the intermediate language AST GCC uses, C++ and other Front Ends convert to GIMPLE so that language independent optimization can take place).
I am searching for people who would be interested in helping this make happen, having a list of emails of interested people could be a good start.
Every year computer science students around the world have to design a simple compiler in their education programme. Chances are a few of them are interested in Pd already. Some might be allowed to write a Pd front end by their teachers. We Pd users are also not incapable to do this.
Lets get together and make this happen!
Greetings!
On 25 September 2010 20:45, ankur gandhe ankool.g@gmail.com wrote:
I was working on a Sound renderer project made in PD and to reduce the latency, we wanted to write the module in C, implementing all the features. Is their a simple way of doing so? If so, please do help
Ankur
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list