js_of_ocaml vs Skulpt
js_of_ocaml
ocsigen.orgSkulpt
skulpt.orgSide by side
| Figure | js_of_ocaml | Skulpt |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | Yes |
| Linux | Yes | — |
| API | Yes | — |
| Plans published | 1 | 1 |
| Spec score · Code Transpilers | 8.4 (#5) | 7.9 (#13) |
| License | The repository lists GPL-2.0-or-later and LGPL-2.1-or-later with the OCaml linking exception as its licenses. | The runtime may be licensed under either the MIT license or PSFLv2, while the homepage cautions that this dual license may not cover surrounding build-processing or testing code. |
Plans
In their own words
js_of_ocaml
js_of_ocaml compiles OCaml bytecode programs into JavaScript for browsers and Node.js. It works with an existing OCaml installation and does not require libraries to be recompiled. Installation is available through opam, while Dune supports separate compilation in development and whole-program compilation in release builds. Whole-program compilation performs global dead-code elimination and cross-module optimization. The library provides a typed bridge between OCaml and JavaScript, including PPX syntax for properties, methods, constructors and objects. Browser bindings cover the DOM, Fetch, WebSockets, WebGL, workers and typed arrays. Optional packages add Lwt support, TyXML, JSON derivation and an OCaml toplevel in the browser. Documented targets include Node.js 18 or later, QuickJS-NG and modern ECMAScript 2020 browsers, including Chrome 80+, Firefox 74+, Safari 13.4+ and Edge 80+. Requirements include OCaml 4.13–5.5, Dune 3.20 or later and Menhir. The project is free and open source.
Skulpt
Skulpt is a free, web-based implementation of Python that executes code entirely in the browser. It requires no preprocessing, plugins, or server-side support. The online editor provides indentation, standard editing shortcuts, and keyboard commands to run all code or only a selection. Developers can embed Skulpt in a webpage or HTML project by loading `skulpt.js` or `skulpt-min.js` together with `skulpt-stdlib.js`, and they can create and host custom modules. The usage guide also describes embedding Trinket examples in an iframe, remixing them, and saving work to a free Trinket account. Skulpt is presented for learning and teaching Python, with a project gallery for educational examples. Its master branch uses Python 3.7.3 grammar, while Python 2 remains available for projects needing it. Documentation says language coverage is incomplete, with some features missing or partial. The runtime may use MIT or PSFLv2 licensing. CLI and API access are listed.