Skip to content
SPECIFICTION
Get listed

js_of_ocaml vs Skulpt

js_of_ocaml

ocsigen.org

Skulpt

skulpt.org

Side by side

Figurejs_of_ocamlSkulpt
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
WebYesYes
LinuxYes—
APIYes—
Plans published11
Spec score · Code Transpilers8.4 (#5)7.9 (#13)
LicenseThe 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

js_of_ocaml

  • js_of_ocamlFree

js_of_ocaml pricing →

Skulpt

  • SkulptFree

Skulpt pricing →

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.

Visit ocsigen.org

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.

Visit skulpt.org