Hallo all - Speaking of [pd~], I made this tonight. It's meant to let you make (or convert) abstractions for pd~ more easily, with the niceties of abstractions (mainly: arguments!) and straightforward inlet and outlet handling.
Call it like [pd~.abstraction myabstraction foo bar baz] and it will do its best to emulate simply writing [myabstraction foo bar baz]. The only caveat is it requires a standardized input/output layout (1 inlet/outlet and 2 inlet~/outlet~s) - modify as you wish; I'll see if I can think of a more flexible implementation.
Send messages like [INLET whateveryouwant( to send [whateveryouwant( to the inlet of your abstraction. The outlet of your abstraction will come to the outlet of [pd~.abstraction]. The inlet~s and outlet~s are also mapped accordingly.
Thanks to IOhannes for testargs and FBar for list-l2s - those made the (purepd) argument hackery possible.
It would be cool if pd~ supported arguments natively!
Hope this helps get more started using [pd~].
Best Luke