Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switching to another Programming Language ( to enhance safety ) #121

Open
knassar702 opened this issue Apr 22, 2023 · 0 comments
Open

Switching to another Programming Language ( to enhance safety ) #121

knassar702 opened this issue Apr 22, 2023 · 0 comments
Labels
core-changes make changes for Lotus Core in Rust help wanted Extra attention is needed

Comments

@knassar702
Copy link
Contributor

After conducting some real work on Lotus using Lua, I have come to the conclusion that Lua is not the best choice for improving Lotus version by version. Due to safety reasons, Lua crates are no longer as secure as they should be. Additionally, certain Rust types do not integrate well with Lua, even when using a wrapper such as the tealr crate. This creates limitations and requires additional time to make the types work with Rust.

I will be writing a detailed blog post on this topic soon with more information. In the meantime, Lotus will continue to use Lua until version 0.6. After that, we plan to remove Lua and switch to a Rust-based embedded language. We are currently considering Dyon as a good option.

However, before we make this switch, we need to track and address any errors that our users may face, as well as create a language server for the chosen language.

@knassar702 knassar702 added help wanted Extra attention is needed core-changes make changes for Lotus Core in Rust labels Apr 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core-changes make changes for Lotus Core in Rust help wanted Extra attention is needed
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

1 participant