Oh, very nice. I was searching for an easy to use scripting language for a project I am making. Is it easy for beginners? I am currently using mlua, but it is a bit hacky. I liked Rhai, but it had no real LSP and no asynchronous code support. And also, does it have sandboxing?
Rust
Welcome to the Rust community! This is a place to discuss about the Rust programming language.
Wormhole
Credits
- The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)
For embedded languages, you won't find many features for them at all. There's Mun, which seems to be what you want. (It's more meant to be used standalone, but i think it's embeddable)
You should also check out Rune, which doesn't have an LSP, but it's embeddable, and has async support.
PS: I don't think koto has asynchronous support yet. But it seems sandboxed, yes. Can't execute unsafe code, and doesn't have unsafe libraries.
Thanks.
@BB_C it seems to be designed as a Lua killer amid they don't have C API bridge yet.
they donβt have C API bridge yet.
WDYM
cargo add libc
Done π
There is an example in the repository showcasing interop with Rust. But I didn't find it compelling enough for people to like. It felt a bit too complex. But maybe the complexity is inherent. I don't know.
print 'Hello, World!'
# -> Hello, World!
square = |n| n * n
'8 squared is {square 8}'
# -> 8 squared is 64
(2, 4, 6, 8)
.each square
.to_list()
# -> [4, 16, 36, 64]
it might be just me, but, from the code snippet, it feels a lot like ruby
As someone who doesn't know scripting languages well, what does make the snippet you posted particularly Ruby-ish?
Reading the guide, it felt like a relatively small consistent scripting language, with some Rustic touches. But I probably missed the touches from other languages I don't know.
But then, Rust itself took inspiration from many other languages, including Ruby itself. So, maybe everyone is taking from (or mimicking if you will) everyone.
BTW, that last part can be written as*:
# from iterator import each, to_list
Β» square -> each (2,4,6,8) -> to_list
β [4, 16, 36, 64]
which maybe mimics some other functional or functional-influenced language(s).
* may require 0.15.1