diff options
Diffstat (limited to 'development/quickjs/README')
-rw-r--r-- | development/quickjs/README | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/development/quickjs/README b/development/quickjs/README new file mode 100644 index 0000000000..3ffa3044b1 --- /dev/null +++ b/development/quickjs/README @@ -0,0 +1,37 @@ +QuickJS is a small and embeddable Javascript engine by Fabrice Bellard +and Charlie Gordon. It supports the ES2023 specification including +modules, asynchronous generators, proxies and BigInt. +It optionally supports mathematical extensions such as big decimal +floating point numbers (BigDecimal), big binary floating point numbers +(BigFloat) and operator overloading. + +Main Features: +* Small and easily embeddable: just a few C files, no external + dependency. +* Fast interpreter with very low startup time +* Almost complete ES2023 support including modules, asynchronous + generators and full Annex B support (legacy web compatibility). +* Passes nearly 100% of the ECMAScript Test Suite tests when selecting + the ES2023 features. +* Can compile Javascript sources to executables with no external + dependency. +* Garbage collection using reference counting (to reduce memory usage + and have deterministic behavior) with cycle removal. +* Mathematical extensions: BigDecimal, BigFloat, operator overloading, + bigint mode, math mode. +* Command line interpreter with contextual colorization in JS. +* Small built-in standard library with C library wrappers. + +NOTE: +In order to adhere to Slackware standards the source is patched to: +* change library paths in the compiler +* build a shared library +Since the default behaviour of the compiler is to output statically +linked binaries, an aditional shared library is provided so that users +may produce C files from Javascript source code +(e.g.: qjsc -e in.js -o out.c), and then compile and link dynamically, +e.g.: + cc -I /usr/include/quickjs out.c -o executable -lquickjs +I believe this is the less intrussive set of changes to achieve those +goals. + |