So others don't need to google UFFI. I found...
http://users.dcc.uchile.cl/~rsalgado/uffi-fourth-draft.pdf
Very interesting. Call backs for NativeBoost, static C function
generator, and I particularly like "The special emphasis in
documentation, is given because of the lack of an easy to ���nd and
consult centralized documentation, that it is required to allow the
entrance of new people working in core features and also for users, that
needs a simple step-by-step tutorial for getting started, and a full
reference manual when they need more advanced features."
Well, that was the original proposal. After some discussions, the plans changed a lot, but the end user interface is almost the same.
When I started implementing that original plan, I was having some issues with the GC. I noticed that the biggest problem with the static C code generator was going to be in defining a interface for objects references in the C code. Because of this problem, the static C code generator was discarded in an earlier stage of development.
After having some discussion with Eliot, we decided to exploit the new bytecode extensibility features, to encode the semantics required to perform a C function call. I called Lowcode the extension for FFI. And the objective now is to implement it in the StackInterpreter and the Cogit. What I am doing with these instructions is to add all the power of C to the VM. The main new features are primitive machine types, pointers and function calls.
I already have implemented the StackInterpreter version, and I have implemented most of the new bytecode instructions in the Cogit. Currently I am starting to test the new FFI. I should be having the new FFI soon.
Now, currently I am just implementing the callouts. I am still missing the new callbacks, but they should be implemented in some time.
Best regards,
Ronie