Initially, the plan was to write the python binding along side of lua so that we could use both. while, doing the python bindings, we (me and my mentors) realized that the lua pointer to objects function design led to very awkward (not pythonic) bindings. To this end I worked on refactoring the functions inside seams-core itself, though this in-turn broke the lua interface which did not support constructing C++ objects from lua (and by extension could not use the new value return-type functions). So, this week as discussed with my mentors, we removed the lua interface from the C++ command line interface.
At one point in an earlier week I had floated the idea of eventually embedding the python interpreter into the C++ CLI instead of the lua interpreter and using the new bindings, however, the development team felt that this is a cleaner approach. The C++ CLI remains capable of reproducing the older D-SEAMS results, and a major release will clarify the role of the C++ core as a backend engine with Python bindings.
Check-in Questions
What did you do this week?
- Wrote the last of example function binding chillPlus.
- Wrote code to call it directly from C++ and python without any involvement of lua.
- The problem with installation of dSEAMS in Macos is fixed.
What is coming up next?
- Clear documentation for the whole work.
- Final report which will also detail my next steps for collaboration.
Did you get stuck anywhere?
No, I wasn't stuck anywhere.