>However, I personally hope that Guile will continue to be friendly towards >those using it as an embedded language. There, a C API is important. There >*is* a downside in moving to Scheme from that perspective, but that is fine as >long as it is easy to call Scheme from C. The typical use case is when a >binding in the application which use Guile as embedded language needs to >manipulate Scheme data in its arguments in order to interpret them.
Currently, there is some code to automatically generate Scheme bindings to C procedures (i.e. automatically generated scm_c_define_gsubr) (IIRC this is ‘snarfing’, but maybe that’s only a documentation thing). It is possible to call the Scheme procedures from C (scm_call + module reflection API to get the procedure), but AFAIK there is no mechanism yet for _automatically_ generating the C wrappers to Scheme things yet. For the embedded language case, it would be useful to have such an automatic generator. Best regards, Maxime Devos.