Step 5 piece 6: migrate 23 .sx files to define-library/import

Wraps all core .sx files in R7RS define-library with explicit export
lists, plus (import ...) at end for backward-compatible global re-export.

Libraries registered:
  (sx bytecode)      — 83 opcode constants
  (sx render)        — 15 tag registries + render helpers
  (sx signals)       — 23 reactive signal primitives
  (sx r7rs)          — 21 R7RS aliases
  (sx compiler)      — 42 compiler functions
  (sx vm)            — 32 VM functions
  (sx freeze)        — 9 freeze/thaw functions
  (sx content)       — 6 content store functions
  (sx callcc)        — 1 call/cc wrapper
  (sx highlight)     — 13 syntax highlighting functions
  (sx stdlib)        — 47 stdlib functions
  (sx swap)          — 13 swap algebra functions
  (sx render-trace)  — 8 render trace functions
  (sx harness)       — 21 test harness functions
  (sx canonical)     — 12 canonical serialization functions
  (web adapter-html) — 13 HTML renderer functions
  (web adapter-sx)   — 13 SX wire format functions
  (web engine)       — 33 hypermedia engine functions
  (web request-handler) — 4 request handling functions
  (web page-helpers) — 12 page helper functions
  (web router)       — 36 routing functions
  (web deps)         — 19 dependency analysis functions
  (web orchestration) — 59 page orchestration functions

Key changes:
- define-library now inherits parent env (env-extend env instead of
  env-extend make-env) so library bodies can access platform primitives
- sx_server.ml: added resolve_library_path + load_library_file for
  import resolution (maps library specs to file paths)
- cek_run_with_io: handles "import" locally instead of sending to
  Python bridge

2608/2608 tests passing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-03 21:48:54 +00:00
parent 397d0f39c0
commit 2d7dd7d582
26 changed files with 858 additions and 14 deletions

View File

@@ -1,3 +1,68 @@
(define-library (web orchestration)
(export
_preload-cache
dispatch-trigger-events
execute-request
do-fetch
handle-fetch-success
flush-collected-styles
handle-sx-response
handle-html-response
handle-retry
bind-triggers
bind-event
post-swap
process-settle-hooks
activate-scripts
process-oob-swaps
hoist-head-elements
process-boosted
boost-descendants
_page-data-cache
_page-data-cache-ttl
page-data-cache-key
page-data-cache-get
page-data-cache-set
invalidate-page-cache
invalidate-all-page-cache
update-page-cache
process-cache-directives
_optimistic-snapshots
optimistic-cache-update
optimistic-cache-revert
optimistic-cache-confirm
submit-mutation
_is-online
_offline-queue
offline-is-online?
offline-set-online!
offline-queue-mutation
offline-sync
offline-pending-count
offline-aware-mutation
current-page-layout
swap-rendered-content
resolve-route-target
deps-satisfied?
try-client-route
bind-client-route-link
process-sse
bind-sse
bind-sse-swap
bind-inline-handlers
bind-preload-for
do-preload
VERB_SELECTOR
process-elements
process-one
process-emit-elements
save-scroll-position
handle-popstate
engine-init)
(begin
(define _preload-cache (dict))
(define
@@ -1566,3 +1631,9 @@
(fn
()
(do (sx-process-scripts nil) (sx-hydrate nil) (process-elements nil))))
)) ;; end define-library
;; Re-export to global namespace for backward compatibility
(import (web orchestration))