Hi, I'm writing a wrapper for a game engine that involves a few callbacks. I wrap the callback in a C function so that I can pass in lambdas as callbacks. Here is how the code looks like:
cl_object callback_wrapper(cl_object lambda, cl_object ...) { cl_funcall(2, lambda, some_params); }
It works OK if the passed in lambda function is syntactically correct. But it fails disastrously if the function contains errors, either syntactically or logically and it crashes the program. I wonder if it's possible to call the lambda function in a safer manner and when anything is wrong, it just drops to the top-level?
A second question is... can I traverse lisp lists in C? I would like to collect everything into a C++ vector and pass that on to the engine's API.
Thanks, Bruce