Replies: 1 comment 4 replies
-
After working with lua as an integrated language more i'd like to add that if it were used for Olive, it should instead be luajit, which is violently optimized for performance and adds async functions |
Beta Was this translation helpful? Give feedback.
4 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Summary
One of the design goals, according to Matt in a recent Patreon post (on his personal account, not the one for Olive) was...
I think this brings up a good point about the addition of either an integrated programming language, or an interface by which UI and etc. is exposed to a third party program, such as a TCP stream that takes commands as input. There's also the idea of Olive just opening up a DLL/so file and running it while linking internal functions against it.
All are good options and honestly I think implementing both could be a good idea; an integrated language for easy, simple scripting, and an FFI of some sort for more complex libraries.
If an integrated language IS done, its worth considering which one, btw. Javascript would be easiest to implement since QT has an integrated language already, but Lua is also an option and the one I'd be more fond of, because it's much more portable and embeddable by design, more suited as an integrated language, and most important, more likely to have a complete implementation; Javascript is a humungous language and as far as I've seen the only complete implementations of it are the ones from the three major browser engine vendors; Chrome, Firefox, and Safari. Lua, by contrast, is a very small language thats, again, literally designed to be linked to another program via its hooks system. There's also Python which is a decent option, but as far as I know its a bit harder to integrate into a project and is generally more suited for making standalone applications.
(It's worth adding, by the way, that the Lua integrated would be original Lua, not the "luau" Roblox uses. I've never used it and can't speak for it personally)
Beta Was this translation helpful? Give feedback.
All reactions