Step 5p6 lazy loading + Step 6b VM transpilation prep
Lazy module loading (Step 5 piece 6 completion): - Add define-library wrappers + import declarations to 13 source .sx files - compile-modules.js generates module-manifest.json with dependency graph - compile-modules.js strips define-library/import before bytecode compilation (VM doesn't handle these as special forms) - sx-platform.js replaces hardcoded 24-file loadWebStack() with manifest-driven recursive loader — only downloads modules the page needs - Result: 12 modules loaded (was 24), zero errors, zero warnings - Fallback to full load if manifest missing VM transpilation prep (Step 6b): - Refactor lib/vm.sx: 20 accessor functions replace raw dict access - Factor out collect-n-from-stack, collect-n-pairs, pad-n-nils helpers - bootstrap_vm.py: transpiles 9 VM logic functions to OCaml - sx_vm_ref.ml: proof that vm.sx transpiles (preamble has stubs) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,3 +1,22 @@
|
||||
|
||||
|
||||
(define-library (sx highlight)
|
||||
(export
|
||||
sx-specials
|
||||
sx-special?
|
||||
hl-digit?
|
||||
hl-alpha?
|
||||
hl-sym-char?
|
||||
hl-ws?
|
||||
hl-escape
|
||||
hl-span
|
||||
tokenize-sx
|
||||
sx-token-classes
|
||||
render-sx-tokens
|
||||
highlight-sx
|
||||
highlight)
|
||||
(begin
|
||||
|
||||
(define
|
||||
sx-specials
|
||||
(list
|
||||
@@ -298,3 +317,9 @@
|
||||
(or (= lang "lisp") (= lang "sx") (= lang "sexp") (= lang "scheme"))
|
||||
(highlight-sx code)
|
||||
(list (quote code) code))))
|
||||
|
||||
|
||||
)) ;; end define-library
|
||||
|
||||
;; Re-export to global namespace for backward compatibility
|
||||
(import (sx highlight))
|
||||
|
||||
Reference in New Issue
Block a user