dibyendumajumdar / ravi

Ravi is a dialect of Lua, featuring limited optional static typing, JIT and AOT compilers
http://ravilang.github.io/
Other
1.16k stars 60 forks source link

Rewrite ravi using golang,I like ravi very much, #240

Closed aadog closed 2 years ago

aadog commented 2 years ago

I like ravi very much, this idea can solve the big problem of script, can we rewrite it by golang to show its hidden value

dibyendumajumdar commented 2 years ago

Hi, I appreciate your feedback. Please have a look at this project https://github.com/yuin/gopher-lua I wish I could rewrite Ravi in another language but it is too much effort and I lack the time. Btw why do you think Go is a good choice for this? Rust would be better IMO. Regards

aadog commented 2 years ago

Ravi is the best script solution I've seen so far,It transplants defer and optional types, which are very important in Lua,Gopher Lua is very good, but it is unwilling to join defer, and there is no strong type support. Lua itself has poor processing ability, and it often needs to be implemented with the help of registration functions。

Rust itself provides strong support for C, so Ravi will not be too good. In go, Ravi is the only choice for all script development, because no one will pay more attention than you, at least for now

A plug-in supported by idea, strong type and Lua engine, with delay, and a very convenient type interactor, such as gopher Lua, does not need JIT

Dream experience

If you are interested, we can finish it together, or can you charge me to modify gopher Lua

aadog commented 2 years ago

At present, the main direction of Ravi seems to be to replace Lua, but it doesn't make any sense, because the application direction of lua is embedded

At present, the main direction of Ravi seems to be to replace Lua, but it doesn't make any sense, because the application direction of lua is embedded, and its main force is to interact with powerful users

aadog commented 2 years ago

You seem to focus on the JIT direction. In my opinion, the performance requirements on the devices are not too high, because the CPU is fast enough,

The core idea of script is rapid development and easy modification. If the performance needs, please give it to the compiling language. They will complete it well enough, but they need an appropriate instruction mode. Maybe I'm wrong, but this is my idea

aadog commented 2 years ago

Gopher Lua is very popular. Maybe you can be its successor. It hasn't been updated for several years

dibyendumajumdar commented 2 years ago

what is the advantage of writing Ravi in Go? I think there are many disadvantages.

dibyendumajumdar commented 2 years ago

Also see https://github.com/Shopify/go-lua

aadog commented 2 years ago

In this era, the difference in performance is almost minimal, unless it is reflected in the extreme algorithm or very slow and obvious Caton.

None of this will happen. What I want to say is that go basically solves the problem of% 90 on the server. Ravi + go is undoubtedly the best choice in the server field

aadog commented 2 years ago

It would be a pity to bury this great project and your talent Ravi starred should remain above 5k-1w, which is my idea

dibyendumajumdar commented 2 years ago

Hi, I think it is extremely hard to create any new language; and even more difficult to gain any users. Ravi is just a fun project, I originally wanted it for my own project, but now it is just for fun. No matter what I do, it is not going to be a popular language, because to make a new language that is popular, you have to have some differentiating feature that is unique and powerful. Plus you need backing of a large company.

It should already be possible to interface to Lua/Ravi from Go as Go allows you to call C code. Rewriting Ravi in Go is not going to give any benefit as other projects are already well established and go-lua is even backed by Shopify.

aadog commented 2 years ago

alright, you win