Dirk
ddv.tools
Dirk
@ddv.tools
Backends & tooling. Working on a JS runtime, Maligator, for learning purposes.
GH: @dirkdev98
With support for for-loops, `new String()` and various new prototype methods, our Test262 number just went up to 4166.
February 16, 2026 at 7:02 AM
Some more progress on Maligator, a JS runtime in TypeScript, in the last two weeks:

- Switch-statements
- try-catch-finally
- Array and object literals
- Function, Error, TypeError
- And more intrinsic methods for things like Function#bind, Array#map, Object.create, etc.
- A Test262 runner 🤓
February 8, 2026 at 9:37 PM
Slowly starting to take a look at Test262. Just the basic harness, Test262Error and assert, need a few more language features than we support currently. So added support for `new`, `this` and `throw`. Try-catch-finally is up next!
January 25, 2026 at 9:05 PM
Some more has gone in to Maligator, my JS runtime implemented in TypeScript.
I've started with the real basic intrinsics and finally a way to create JS objects. Combine that with member expressions and we have `[object Object]`.
January 18, 2026 at 2:19 PM
And with a final push of adding TODO's everywhere, we got function declarations and calling working 🤓
January 12, 2026 at 9:21 PM
Builtin function calls landed in Maligator! Now supporting calling isFinite, isNaN, parseInt and parseFloat :)
January 11, 2026 at 7:03 PM
With if-statements and (do-)while-loops supported in Maligator, it all starts to get some shape.
January 10, 2026 at 8:39 AM
Chipped away at a few more things, so updating variables is supported as well. As well as some relational expressions. Next up are the if-, while-, etc-statements.
January 8, 2026 at 7:19 AM
Got basic variables going! Skipped the static semantics for now, which suggest to initialize all new variable bindings before executing a block.
Also an interesting thing in the spec is that `undefined` and a few others are properties on `global`. So only now can `undefined` actually be resolved.
January 5, 2026 at 7:16 PM
Over the holidays I have started to work on a JavaScript engine. Mainly to get more experience w/ specification driven interpreter development, learning some new intricacies of JS and having a big project where lots of parts can be implemented without much thinking
January 5, 2026 at 7:04 AM