Hi,
Over the last two nights I have written an FFI to the GLFW (3.0.2) library and on my iMac I now have a running system that shows a black window and responds to key events, albeit using a C handler as I have not yet worked out how to make an asynchronous event call back to a prolog predicate yet. I have considered writing a custom main() function and starting from there so that the prolog session is globally available to the callback and then I can do it but I would have loved to have been able to write as little glue code like that as possible, but if I have to...
I am currently sketching out some PHP code that uses the -xml output from SWIG to attempt to create both the ':- foreign' declarations and the boiler plate C code that will wrap each call. If it works as well as my hand-crafted solution then I will be happy.
It will.
Which brings me to...OpenGL. That is a BIG cookie to eat and if I can produce OpenGL bindings for GNU Prolog (SWI has them) then that would be great. I have this made idea to somehow intercept the execution of a predicate (like trace/spy does) and then produce some kind of 3D representation of how that predicate was executed for inspection, purely as a learning exercise. I see it as a way to actually enable people to really see what backtracking gets up to at run time!
So... do I get ready to expend enormous amounts of efforts or do I wait a little longer for GNU Prolog 1.4.X or 1.5 or whatever to be released that has the new module system (and FFI?!) that Daniel mentioned a few months back?
Thanks,
Sean.