
Show HN: Building a scripting language and bytecode interpreter for education - crazyprofessor
https://github.com/geertvos/gs-lang/blob/master/README.md
======
chubot
I would also compare it with the Lox language:

[https://www.craftinginterpreters.com/the-lox-
language.html](https://www.craftinginterpreters.com/the-lox-language.html)

which has an AST interpreter in Java as well as a bytecode interpreter in C.
And an entire educational book devoted to it, which was just finished!
[https://news.ycombinator.com/item?id=22788738](https://news.ycombinator.com/item?id=22788738)

Lox is also pretty similar to JavaScript, although it has classes (not
prototypes), which JS didn't get until later.

Also many other implementations:
[https://github.com/munificent/craftinginterpreters/wiki/Lox-...](https://github.com/munificent/craftinginterpreters/wiki/Lox-
implementations)

~~~
accidentalrebel
The last chapter of the book you mentioned just got finished this week, I
believe. Such a huge feat!

------
crazyprofessor
A scripting language and VM that is easy to understand and modify, targeted
for educational purposes. The entire bytecode language, the stack machine and
the compiler and AST are easily readable, not optimized in any way and allow
for easy modification. Therefor making it perfect for programming language
courses etc.

------
crazyprofessor
Thanks for the interesting and relevant other projects. Will have a look.

Is it possible to update the post and adjust the link?

------
lidHanteyk
I would compare and contrast this language with three others in the niche,
Python, Quorum [0], and also Nickle [1].

[0] [https://quorumlanguage.com/](https://quorumlanguage.com/)

[1] [https://www.nickle.org/](https://www.nickle.org/)

------
chkas
Another programming language for education:
[https://easylang.online/ide/](https://easylang.online/ide/)

------
jdxcode
I just went through
[https://interpreterbook.com/](https://interpreterbook.com/) which was really
well written

------
traes
It might be better to just link directly to the repo instead of the readme.

