Marc,
This was not my question i.e. if I can migrate between JS/PHP/Java on the one hand and C on the other hand -
My question was, if I can implement in C, a "VM" that executes a compiled version of the code, within some kind of interpreter, so I easily can do completely safe Scheme code execution within that VM -
I.e. I can followup memory allocation and which globals/what environment I allow the "guest" code to run.
Perhaps this could be as simple as getting the JS/PHP/Java-format GVM code and implementing some kind of interpreter/VM for it?
Thanks
2015-10-21 20:40 GMT+08:00 Marc Feeley feeley@iro.umontreal.ca:
The code generated by the C backend and the code generated by the universal backend are incompatible when it comes to task migration. This is because the two backends do not generate the same GVM code (due to differences in the set of inlined primitives). Moreover, the low-level representation of stack frames is different (for example the C backend enforces alignment of stack frames), and the ordering of basic-blocks is different. Currently I don’t have any plan to make the backends compatible for migrating continuations. It might be possible to make closures compatible though and I will think about it.
On the other hand, object->u8vector and u8vector->object are compatible for types other than procedures and continuations. It is possible to transfer data (even with circularities) between them, so an ad-hoc remote procedure call implementation should not be too difficult to build.
Marc
On Oct 20, 2015, at 11:45 PM, Bradley Lucier lucier@math.purdue.edu
wrote:
Can you migrate it from a browser to a gambit-c interpreter running on
some server (not php on Apache)?
Gambit-list mailing list Gambit-list@iro.umontreal.ca https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list