Comment by esprehn

3 years ago

This doesn't actually implement any of the JS language though, it just reuses all of python's semantics and hard coded a tiny list of ex. String methods

I also assume you mean mainstream JS engine, but Duktape, JerryScript and QuickJS are all C APIs.

They probably could have used ex. https://github.com/PetterS/quickjs instead of the hacks in the OP linked file.

Ah, I only briefly scanned the implementation, and it looked like it was doing actual work - is it mostly string replacing to get approximate python equivalent syntax? Regardless that's disappointing.

You are correct though that I was only thinking of the big engines - bias on my part alas.

For your suggested alternate engines, JerryScript and QuickJS seem more complete than Duktape but I can't quite work out the GC strategy of JerryScript. Bellard says QuickJS has a cycle detector but I'm generally dubious of them based on prior experience.

If I was shipping software that had to actually include a JS engine, if perf was not an issue I would probably use JerryScript or QuickJS as binary size I think would be a more critical component.