Hi,
Is there an update in the works for the Poly FFI?
I may not be looking in the correct place, but I am seeing what may be a
needed feature: let's say I am happy with Poly managing the lifetimes of
"volatile" C-data values, and handling the freeing of malloced memory.
What about C++? One would need some way to [at least] arrange for a
delete operation (so as to invoke any needed destructor(s))... and this
is assuming we wrap C++ objects created with new[] inside a "simple"
new-created object - otherwise we need to be able to issue a delete[].
This could still potentially be handled by a C-style interface, if we
could optionally associate a C "finalize" function with a volatile -
this function could be called by the Poly memory reclamation when the
volatile is truly unreachable; upon its return, Poly can go ahead and
complete the free operation.
This issue comes up both in the general case of talking to extra-Poly
code (where we may have some control of the interface presented), but
also in the case of talking to an existing library that is C++ rather
than C based... in this case, we really need to allow the foreign code
base to perform its own lifetime-management related operations.
Like I said, this functionality may be available already... but if
isn't, what are others' thoughts on the subject? Is this facility needed?
Robert