My initial thought, and this isn't implemented quite yet (though we could put the fire back to my feet to complete it) is to create a CallContext PMC with all the arguments you want and pass that in.
Putting arguments into a ResizablePMCArray or Hash and using :flat (Signature "Pf") would similarly resolve the problem. --Andrew Whitworth On Tue, Mar 16, 2010 at 3:03 PM, Jonathan Leto <[email protected]> wrote: > Howdy, > > Recently on #parrot, eggyknap++ asked this question: > > <eggyknap> davidfetter and I are embedding parrot in postgresql, and > are under the impression we should use Parrot_ext_call(). The problem > is that requires us to know at compile time the functions arguments, > which we can't do. > <Coke> davidfetter: ... can't you just dynamically construct the > signature string? > <eggyknap> The signature string is easy. But the arguments themselves > aren't. Parrot_ext_call() takes a signature string and a varargs list > of arguments > ... > <Coke> eggyknap: I wonder if we could take a container PMC or > something and let you use :flat. > > After doing a little research, it seems that plobsing++'s work on the > Parrot_ext_call_cb function in the tt1477 branch is what we need [0], > but I would like to be sure and ask for additional comments about the > best way to go about this. We want a solution that will work for > stored procedures written in any language sitting on top of Parrot, > not just PIR, but for the time being, we are more than happy to get > just PIR working. > > Your comments and constructive criticism would be greatly appreciated. > > Duke > > [0] > http://github.com/leto/parrot/commit/8e0861f98c943bcd64d3563362085c0c68aac40e > > -- > Jonathan "Duke" Leto > [email protected] > http://leto.net > _______________________________________________ > http://lists.parrot.org/mailman/listinfo/parrot-dev > _______________________________________________ http://lists.parrot.org/mailman/listinfo/parrot-dev
