nederlang
Nederlandse programmeertaal 🇳🇱. Geïnterpreteerd en met dynamische types. Met bytecode compiler en virtuele machine, in Rust. (by dannyvankooten)
utena
By cal-coop
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.
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.
nederlang
Posts with mentions or reviews of nederlang.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-11-21.
-
What's everyone working on this week (47/2022)?
Writing a blog post on my experience rewriting a toy interpreter in Rust and what it took to make it faster than the one I wrote in C.
-
Resources on implementing a LISP-like language interpreter?
Closures will probably remain hairy though. It’s a tough problem to solve. I’ve yet to take the plunge (supporting closures, that is) for my toy language Nederlang but maybe the other parts of it can be of help. It’s no longer a tree-walking implementation though.
-
Emitting block as expression to a stack vm
The way I solved this in Nederlang is to create a hole in the stack for the maximum amount of local variables the compiler encountered for each block statement.
-
November 2022 monthly "What are you working on?" thread
Have been working on Nederlang for the last few weeks again. My last (and first!) attempt at an interpreted programming language was in C but it wasn't that pleasant to work in. I'm now using Rust and am pretty happy with it so far. Performance is great (using tagged pointers and some nice optimizations using specialized opcodes for common operations, like operating on a constant and a variable, bypassing the stack), it's a joy to work in and exotic segfaults are a thing of the past.
utena
Posts with mentions or reviews of utena.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-11-03.
-
November 2022 monthly "What are you working on?" thread
Been working on specifying the Utena machine. My initial plan was to add registers and instructions to the SECD machine as I usually do, to fit everything we need to keep track of. Notably, the Self machine keeps track of both "explicit" and "implicit" self; the former used for sends which explicitly write out the receiver e.g. self blah, and the latter used for sends with no explicit receiver e.g. blah.
What are some alternatives?
When comparing nederlang and utena you can also consider the following projects:
pythonvm-rust - An incomplete stackless interpreter of Python bytecode, written in Rust.
jevkostream.scm - (WIP) Streaming parsers for Jevko in Scheme
parsejevko.js - [DEPRECATED] Deprecated in favor of https://github.com/jevko/jevko.js
parsejevko.py - Simple parser for Jevko in Python.
uvm - Fun, portable, minimalistic virtual machine.
parsejevko.c - Simple parser for Jevko in C.
interjevko.js - Experimental Schema-based Minimal Data Interchange with Jevko.
jevko.lua - A Jevko library for Lua.
jevkalk - A Jevko-based interpreter.
edsl - Example of embedding TypeScript as an EDSL inside of another language
Glide - Glide programming language