Hacker News new | ask | show | jobs
by hclgckxjtxjfxur 3577 days ago
I really like the idea of a graph-based solver since it makes a lot more sense for matrix assembly, but I'm concerned about committing to using simit because that necessarily implies abandoning interoperability with other established software. I do a lot of evolutionary structural optimization, but I need to also be able to interface with existing software libraries in order to complete the job. I'm not sure how feasible of a port it would be, but myself and many others would be very appreciative of a simit library for an established language. Surely those custom types could be emulated with the object systems found in modern languages?
1 comments

Very valid concerns. If you use C++ it's easy to interoperate with Simit, since Simit is a C++ library with an online compiler that compile the time steppers. You build the graph using a C++ api and then you run a Simit program which updates the graph. It's similar to how you'd use OpenGL or DirectX (graphs instead of meshes and Simit programs instead of shaders). See https://youtu.be/raPkxhHy5ro?t=19m32s, and http://simit-lang.org/api for more information.

You're absolutely right that we could have provided all the functionality as C++ classes instead of compiling Simit programs through the Simit C++ API, and we might at some point. The reason why we didn't do this is that the language is complex enough that we felt it would be less user friendly. I definitely tried to design it as a library without a parser.