[RESEARCH] JavaScript engines #28
Labels
No Milestone
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: SketchyMaze/doodle#28
Loading…
Reference in New Issue
There is no content yet.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may exist for a short time before cleaning up, in most cases it CANNOT be undone. Continue?
I'm currently using otto for the embedded JS interpreter for Doodad scripts. It's a pure Go runtime for JS but only supports old-style ES5 syntax (no
let
orconst
, etc.)Some ideas for possible replacement:
QuickJS
https://github.com/lithdew/quickjs
A JavaScript runtime written in C with ES2020 syntax. According to the Go page, should be easily cross-compilable with gcc and mingw. Looks like you can bind Go functions to be callable from the interpreter.
Honorable Mentions
goja
https://github.com/dop251/goja
Seems in the same lines as Otto and only ES5 syntax.
Alternate Languages (Python etc.)
Starlark
https://github.com/google/starlark-go
Starlark is a Python-like language from Google.
Switched to goja in
4d08bf1d85
which has some useful ES6 syntax support already.