ProtoScript is a C reimplementation of an ECMAScript 1 core (almost JavaScript 1.3), designed as a minimal, embeddable scripting language.
It is a standalone command-line interpreter and does not target browsers, the DOM, HTML, or any client-side runtime.
The engine uses a glyph-based Unicode model (UTF-8), not UTF-16.
ProtoScript does not aim for modern JavaScript or browser compatibility.
Prototype-Based Languages: A Different Way to Think
You can test ProtoScript immediately thanks to a demo running on the web via WebAssembly (compiled with emscripten):
Try it now: ppyne.github.io/ProtoScript/
- The technical foundation: Object Creation with ES1
- User guide:
docs/user_guide/toc.md - Language reference:
docs/language_reference.md - ES1 deviations:
docs/es1-notes.md - String model spec:
docs/string-spec.md - Io module spec:
docs/io_spec.md - GC spec:
docs/gc_spec.md - ECMA-262 Edition 1 (June 1997):
docs/ECMA-262_1st_edition_june_1997.pdf - License (BSD-3-Clause):
LICENSE
No external dependencies are required.
makemake testRun an example:
./protoscript examples/hello.jsUsage (file or stdin):
./protoscript script.js
cat script.js | ./protoscript
echo 'Io.print("Hello world\n");'| ./protoscript
./protoscript < script.js
./protoscript - < script.jsOther examples:
examples/basics.jsexamples/arrays.jsexamples/strings.jsexamples/objects.js
