langs-in-rust
starlark-rust
Our great sponsors
langs-in-rust | starlark-rust | |
---|---|---|
12 | 9 | |
794 | 621 | |
- | 6.6% | |
6.5 | 9.8 | |
about 2 months ago | 7 days ago | |
Python | Rust | |
- | 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.
langs-in-rust
-
Gleam
Gleam is written in Rust and is a nice example (besides Rust itself) of what it looks like to write a language in Rust. By my own tracking (https://github.com/alilleybrinker/langs-in-rust) Gleam is one of the most popular languages written in Rust and is one of the few top languages in that list which isn't a reimplementation of an existing language!
-
Rust is ugly, doesn’t even let you write simple data structures, unsafe rust is not even defined, makes the simplest things so hard to write and did I mention it’s ugly?
Ah yes, std, that famous crate that is unusable for systems programming. God forbid anyone do any "systems" programming that uses std.
- Langs in Rust: a list of more than 100 programming languages implemented in Rust!
- The impossible case of pitching rust in a web dev shop
-
Scripting language that compiles to Rust?
A scripting language with an interpreter written in rust? Lua doesn't compile to C. The Lua interpreter is written in C and can inter-operate with it. Maybe look here: https://github.com/alilleybrinker/langs-in-rust
-
Hey Rustaceans! Got a question? Ask here! (29/2022)!
There are in fact! If I remember correctly, Gluon and Gleam are both done via Combinators. You can probably find many more here
- Rock v0.2.1, a little native toy language I've made with Rust and LLVM.
-
Higher level languages over Rust?
Or maybe see languages implemented in Rust being writen in rust doesn't mean they're good at interacting wirh rust)
-
Announcing Parcel CSS: A new CSS parser, compiler, and minifier written in Rust!
Parcel has been added to my list of languages implemented in Rust! It's currently the only CSS implementation listed there.
-
Scripting Languages of the Future
For anyone interested in languages written in Rust, here’s a list: https://github.com/alilleybrinker/langs-in-rust
starlark-rust
-
What config format do you prefer?
I haven't seen anyone mention starlark yet. It's something I want to play with as a config language.
-
loxcraft: a compiler, language server, and online playground for the Lox programming language
Aside from these, if you want some inspiration for a production-grade language built in Rust, you might want to go through the source code of Starlark and Gluon.
-
Launch HN: Moonrepo (YC W23) – Open-source build system
There is also a Rust implementation of Starlark as a starting point https://github.com/facebookexperimental/starlark-rust
To add to everyone else, please don't use YAML. Starlark is great _precisely_ because it is a readable, well known (nearly Python) language that is limited at the same time (no unbounded for loops, no way to do non-deterministic things like get the current time or `random()`).
-
Benchmarking Starlark against other embedded scripting languages
This is a follow-up to Benchmarking mlua/rlua/rhai - Rust embedded scripting languages from 4mo ago; I just added the new Starlark implementation from Meta to the benchmark posted by @aleksru.
-
The Perfect Configuration Format? Try TypeScript
The Rust implementation has it as an experimental extension (https://github.com/facebookexperimental/starlark-rust/blob/m...)
-
Making an interpreter for variable length byte-code, any way to use enums for this and not just a big u8?
u/ndmitchell has been working on a Starlark interpreter. He wrote up a blog post with some thoughts about different interpreter styles. He found that in his case using fixed sized instructions was about the same as byte-encoded ones, but compiling the AST to closures was also about the same performance as well, and doesn't need an AST->bytecode compiler.
-
Can i use rust to write my compiler??
As mentioned in other comments, type system features like algebraic data types (that Rust has) are really helpful. If you want a small-but-real example of a compiler in Rust (with an optimizer etc) then the starlark-rust compiler is good.
-
Zellij – A Terminal Workspace and Multiplexer Written in Rust
If your Rust program needs a more complicated configuration (conditionals, access to APIs and so on), also look at Facebook's Starlark parser and tooling[1]. Starlark is a subset of Python used by Bazel, Buck and a few other projects.
[1]: https://github.com/facebookexperimental/starlark-rust
-
New version of Rust Starlark, an implementation of a deterministic Python-like language
The Facebook post gives a nice overview. It also links out to the home page for the project at https://github.com/facebookexperimental/starlark-rust/, which has an introduction and links to what Starlark is, the crates.io link, the docs.rs link etc.
What are some alternatives?
inkwell - It's a New Kind of Wrapper for Exposing LLVM (Safely)
cue - CUE has moved to https://github.com/cue-lang/cue
rust-langdev - Language development libraries for Rust
cue - The home of the CUE language! Validate and define text-based and dynamic configuration
plzoo - Programming Languages Zoo
.tmux - 🇫🇷 Oh my tmux! My self-contained, pretty & versatile tmux configuration made with ❤️
passerine - A small extensible programming language designed for concise expression with little code.
wasmtime - A fast and secure runtime for WebAssembly
cs-video-courses - List of Computer Science courses with video lectures.
zellij - A terminal workspace with batteries included
xonsh - :shell: Python-powered, cross-platform, Unix-gazing shell.
Tmuxinator - Manage complex tmux sessions easily