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

Project abandoned? #320

Open
memcorrupt opened this issue Jun 10, 2023 · 7 comments
Open

Project abandoned? #320

memcorrupt opened this issue Jun 10, 2023 · 7 comments

Comments

@memcorrupt
Copy link

@xanathar @LimpingNinja A new GitHub/NuGet release hasn't been pushed out since 2016, despite numerous commits to the repository since the last release.

I am the founder of Luraph, a Lua code obfuscation platform, and one of my customers have brought it to my attention that a bug (since patched in 4f4e6cd) causes my security software to not work with Moonsharp.

Since most developers will bundle Moonsharp based on the last release version, these new bug fixes aren't being widely used. Is this project still maintained, and will a new version be coming out soon?

@ferib
Copy link

ferib commented Jun 13, 2023

Cool, sounds similar to #317

@LimpingNinja
Copy link
Contributor

Fair call out; I think I got demoralized last time I went up against the pull requests, given the two maintained versions. I will aim to look at some of the core patches in the next two weeks and see if I can contribute a release.

@lofcz
Copy link

lofcz commented Jun 13, 2023

@LimpingNinja we did many changes to the bytecode representation, changed some core classes to structs, reduced their runtime size, allocations and overall dramatically improved performance in WattleScript. Currently, we don't have the space to backport changes upstream (probably the scope of changes is at a scale that can't be backported anyway) but if anyone wants just to run a faster version of MoonSharp, we support Lua mode and are 99% backward compatible (just recompile scripts, bytecode will differ).

Some of the core changes:
https://github.com/WattleScript/wattlescript/blob/main/src/WattleScript.Interpreter/DataTypes/DynValue.cs
https://github.com/WattleScript/wattlescript/blob/main/src/WattleScript.Interpreter/DataTypes/Table.cs
https://github.com/WattleScript/wattlescript/blob/main/src/WattleScript.Interpreter/Execution/VM/OpCode.cs
https://github.com/WattleScript/wattlescript/blob/main/src/WattleScript.Interpreter/Execution/VM/Processor/Processor_InstructionLoop.cs

On top of that, WattleScript itself is a C#/JS flavor added to Lua, with some syntax-breaking changes. The language is roughly specified here: https://github.com/WattleScript/wattlescript/wiki/roadmap and here https://github.com/WattleScript/wattlescript/tree/main/src/WattleScript.Tests/EndToEnd/CLike/SyntaxCLike

@LimpingNinja
Copy link
Contributor

Sounds nice, I've pulled it down and am going to test on my own project, are you planning on leaving LUA support at the current level or moving towards the next version?

@lofcz
Copy link

lofcz commented Jun 29, 2023

@LimpingNinja the last two things I wanted to add were gradual typing and LSP for Wattle. We hit a major roadblock with the gradual typing implementation, that's why the last commit is from the previous year. I'm planning to take another shot at it when I feel confident enough about the topic - turns out there's a lot of literature about implementing dynamically typed languages but moving into gradual typing with an existing codebase is pretty hard.
Until that is resolved we have no plans to push for a higher LUA version. However, if you were to adopt Wattle in your project, we accept PRs (or it could be implemented upstream and we can backport the changes).

@N3X15
Copy link

N3X15 commented May 11, 2024

Given that the last commit appears to be three years ago: Yes.

@CppCXY
Copy link

CppCXY commented Jun 19, 2024

@LimpingNinja the last two things I wanted to add were gradual typing and LSP for Wattle. We hit a major roadblock with the gradual typing implementation, that's why the last commit is from the previous year. I'm planning to take another shot at it when I feel confident enough about the topic - turns out there's a lot of literature about implementing dynamically typed languages but moving into gradual typing with an existing codebase is pretty hard. Until that is resolved we have no plans to push for a higher LUA version. However, if you were to adopt Wattle in your project, we accept PRs (or it could be implemented upstream and we can backport the changes).

Perhaps you could consider forking my project to implement it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants