hematita
interfaces
hematita | interfaces | |
---|---|---|
3 | 1 | |
187 | 34 | |
- | - | |
0.0 | 6.6 | |
over 1 year ago | 4 months ago | |
Rust | CSS | |
GNU General Public License v3.0 only | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
hematita
-
Which scripting languages work well embedded with Rust?
lua and rust works well. With both the rlua and mlua bindings. There is also a lua vm written in rust: https://github.com/danii/hematita though it is rather early for that.
-
What scripting language and what implementation would you use with your program written in Rust?
Rust has some good bindings with lua, for example mlua and rlua. There is also a rewrite of lua in 100% safe rust called hematita ( https://github.com/danii/hematita )
-
hematita - A Memory Safe Lua Interpreter In Rust
Side note: I'm aware `cargo install hematita_cli` doesn't work, for now you'll have to run `cargo install --git 'https://github.com/danii/hematita.git' hematita_cli`. I've refrained from publishing the CLI crate because I remembered I could just include the CLI in the main crate, so I'm giving myself time to choose whether or not I should.
interfaces
-
Which scripting languages work well embedded with Rust?
I like how wasmCloud does things - they define the interface using smithy like this https://github.com/wasmCloud/interfaces/blob/main/httpserver/httpserver.smithy (in the httpserver interface, the wasm side receives http requests as structs, and replies with responses as structs. The native-code side is responsible for listening on the TCP port etc. There are a bunch of other first-party interfaces, including an httpclient interface, for outgoing requests initiated by wasm). They then generate basic interface code for all supported languages from the smithy definitions. They also hand-write some helper functions, to make things easier on the wasm side (this isn't the same from language to language - there are more helpers for rust than other languages).
What are some alternatives?
Lua - Lua is a powerful, efficient, lightweight, embeddable scripting language. It supports procedural programming, object-oriented programming, functional programming, data-driven programming, and data description.
capability-providers - wasmCloud official capability providers
crates.io - The Rust package registry
ApiV2-GraphQL-Docs - AniList API V2 GraphQL Documentation
goscript - An alternative implementation of Golang specs, written in Rust for embedding or wrapping.
tl - The compiler for Teal, a typed dialect of Lua
lokke - Lokke: Clojure for Guile
css.gg - 700+ Pure CSS, SVG, PNG & Figma UI Icons Available in SVG Sprite, styled-components, NPM & API and 6000 glyphs
Rhai - Rhai - An embedded scripting language for Rust.
dyon - A rusty dynamically typed scripting language
gluon - A static, type inferred and embeddable language written in Rust.