slang-v2
tinyvm
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.
slang-v2
-
So about the right way to write an interpreter
The code that does this in Slang is here: https://github.com/mkhan45/slang-v2/blob/master/src/parser/for_parse.rs
-
A tiny stack based VM in Rust
Some of the design choices here might be a little strange, but I tried to explain them in comments. It runs quite fast (as expected since it only supports one datatype), and I've written a really rudimentary janky compiler for it. I plan on writing a more fleshed out compiler that takes advantage of all of its features whenever I have time.
- I wrote a simple scripting language in Rust
- I a simple scripting language interpreter in rust
-
What's everyone working on this week (3/2021)?
I'm probably done with this for the forseeable future as of today but I've just made my first scripting language interpreter: https://github.com/mkhan45/slang-v2.
tinyvm
-
Trying to write a stack-based VM in Rust, have not found useful tutorial.
I'm actually writing a tutorial right now, but in the meantime you can checkout this repo of mine: https://github.com/mkhan45/tinyvm. It's a ~250 LOC stack vm with another 200 lines of comments
- A tiny stack based VM in Rust
-
Dijkstra's "Why numbering should start at zero"
The last Rust I looked at was this file, ; true there are few if any explicit array indexing, but the code is gobbledygook, with lines this:
-
Looking for feedback on a toy bytecode vm
The repo is here: https://github.com/mkhan45/tinyvm. It's written in Rust and only ~275 mostly repetetive LOC so I think it's pretty understandable even without comments, but I'll add some explanation if anyone asks.
What are some alternatives?
cranelift-jit-demo - JIT compiler and runtime for a toy language, using Cranelift
interpret
jupyter-rust - a docker container for jupyter notebooks for rust
evolution_original - rust evolving pictures
ellalang-playground - A interactive and online playground for https://github.com/lukechu10/owllang.
Lobsters - Computing-focused community centered around link aggregation and discussion
crafting-interpreters-rs - Crafting Interpreters in Rust
TablaM - The practical relational programing language for data-oriented applications
ferrumfix - Financial Information eXchange protocol implemented in Rust
zknotes - Zettelkasten implemented in rust, elm
webdriver-install - Fast and simple webdriver installation
blip - a programming language