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)?