My working unpac space for OCaml projects in development
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Update STATUS.md with consistent project status format

Status: STUB PROJECT - QuickJS C source vendored, no OCaml port yet.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

+24 -14
+24 -14
STATUS.md
··· 1 1 # ocaml-quickjs 2 2 3 - **Status: STUB PROJECT - Pure OCaml Port Needed** 3 + **Status: STUB PROJECT** 4 4 5 5 ## Overview 6 6 7 - Pure OCaml implementation of QuickJS JavaScript engine. 7 + Pure OCaml implementation of QuickJS JavaScript engine. The goal is to create a portable JavaScript interpreter that can run on all OCaml targets (native, js_of_ocaml, wasm) without C dependencies. 8 8 9 - ## Vendored C Reference 9 + ## Current State 10 10 11 - - `vendor/git/quickjs-c/` - QuickJS C implementation from https://github.com/bellard/quickjs 11 + No OCaml code has been written yet. The project contains only: 12 + - Basic dune project scaffolding 13 + - Vendored C reference implementation (`vendor/git/quickjs-c/`) 12 14 13 - ## Goal 15 + The vendored QuickJS C source serves as a reference for the port. It includes: 16 + - ~2MB of core JavaScript engine code (`quickjs.c`) 17 + - Regular expression engine (`libregexp.c`) 18 + - Unicode support (`libunicode.c`) 19 + - REPL and compiler tools 14 20 15 - Create a **pure OCaml port** of QuickJS to enable: 16 - - JavaScript execution in OCaml without C dependencies 17 - - Better integration with OCaml's runtime and GC 18 - - Portability to all OCaml targets (including js_of_ocaml, wasm) 21 + ## Dependencies 22 + 23 + - None yet (future: likely sedlex for lexing, menhir for parsing) 19 24 20 25 ## TODO 21 26 ··· 29 34 - [ ] Write comprehensive test suite 30 35 - [ ] Benchmark against C implementation 31 36 37 + ## Build & Test 38 + 39 + ```bash 40 + # Currently no code to build 41 + dune build 42 + ``` 43 + 32 44 ## Notes 33 45 34 - QuickJS is a small and embeddable JavaScript engine by Fabrice Bellard. 35 - It supports the ES2020 specification including modules, async generators, and proxies. 36 - A pure OCaml port would be valuable for: 46 + QuickJS is a small and embeddable JavaScript engine by Fabrice Bellard supporting ES2020. 47 + A pure OCaml port would enable: 37 48 - Sandboxed JavaScript execution in OCaml applications 38 49 - Static analysis and tooling for JavaScript 39 50 - Cross-platform JavaScript support where C bindings are problematic 40 51 41 - ## References 42 - 52 + References: 43 53 - QuickJS website: https://bellard.org/quickjs/ 44 54 - ES2020 specification: https://tc39.es/ecma262/