Still missing state persistence across hot-reloads, and feedback loops, but it's already pretty fun to play with :)
#algorave #rust #rhai #cranelift
Okay, say I went full yolo and actually decided to ditch all our #TypeScript and rewrite everything in #Rust, as one does.
I still need to provide some scripting layer for normal sane people I would be forcing to use this (of which there might end up being many).
Any suggestions? Boosts appreciated 
- #Rhai seems pretty popular, but some decisions are weird, to say the least (e.g. https://rhai.rs/book/ref/fn-closure.html#admonition-beware-captured-variables-are-truly-shared). Kinda evokes PHP memories.
- #Gluon is proper static, which is probably really good for performance, less certain about experience.
- #Rune and #Dyon both look nice and simple. But also looks like there's no way to declare any useful type information for the dev tools.
- #Boa would let us actually keep TypeScript, which is nice, because its type system is just the best ever. But I'm not sure it's stable or fast enough yet.
- Embedding or building around #Deno is always an option, but having to spin up #V8 whenever any script needs to be run kinda defeats the purpose of moving to something more performant in the first place.
Idk. Would love to hear literally any thoughts on this. Please talk to me 
The use case is mostly "business logic", e.g. ORM/CRUD stuff, web/API handlers. Simple code written fast, by people of varying experience.
I've been using #Knitfile for a while and it's pretty good.
https://zyedidia.github.io/blog/posts/3-knit-better-make/
But now I get annoyed with Lua `require()` which doesn't allow arbitrary path. I think replacing Lua with #Rhai script should solve the problem. Unlike gopher-lua, rhai provide a way to customize the syntax. However, the whole project (:knit) need to be rewritten in Rust 😅
#Rhai is a scripting language for #Rust.
Rhai is a configurable, embeddable scripting language for use in Rust programs. Rhai scripts can easily be loaded and executed from a Rust program, even for no-std or #WebAssembly targets. Rhai supports closures, OOP, dynamic typing, and a simplified Rust-like syntax. Functions and operators can easily be added to Rhai, as well as entirely new syntax.
Website 🔗️: https://rhai.rs/
How we customised #Blockly for #Rhai Script and BL602
https://lupyuen.github.io/articles/rhai?19#appendix-customise-blockly-for-rhai
Drag-n-Drop #Rhai Scripts for BL602 with #Blockly
https://lupyuen.github.io/articles/rhai?18#drag-and-drop-rhai-scripting