How to make a fast dynamic language interpreter
75 points
3 hours ago
| 3 comments
| zef-lang.dev
| HN
tiffanyh
19 minutes ago
[-]
I see Lua was included, wish LuaJIT was as well.
reply
pizlonator
17 minutes ago
[-]
I bet LuaJIT crushes Zef! Or rather, I would hope that it does, given how much more engineering went into it

There are many runtimes that I could have included but didn’t.

Also, it’s quite impressive how much faster PUC Lua is than QuickJS and Python

reply
grg0
2 hours ago
[-]
Interesting, thanks for sharing. It is a topic I'd like to explore in detail at some point.

I also like how, according to Github, the repo is 99.7% HTML and 0.3% C++. A testament to the interpreter's size, I guess?

reply
pizlonator
2 hours ago
[-]
I committed the statically generated site, which is wastefully large because how I generate the code browsers

But yeah the interpreter is very small

reply
boulos
43 minutes ago
[-]
How's your experience with Fil-C been? Is it materially useful to you in practice?
reply
pizlonator
39 minutes ago
[-]
I’m biased since I’m the Fil.

It was materially useful in this project.

- Caught multiple memory safety issues in a nice deterministic way, so designing the object model was easier than it would have been otherwise.

- C++ with accurate GC is a really great programming model. I feel like it speeds me up by 1.5x relative to normal C++, and maybe like 1.2x relative to other GC’d languages (because C++’s APIs are so rich and the lambdas/templates and class system is so mature).

But I’m biased in multiple ways

- I made Fil-C++

- I’ve been programming in C++ for like 35ish years now

reply