Archived
This repository has been archived on 2026-08-20 . You can view files and clone it. You cannot open issues or pull requests or push a commit.
422442b14e142952e8bb0c5e6704e2b16c3a2f59
elc --target=js --bundle source.el > output.js produces a single file
with no import statement that can drop directly into a <script> tag.
How it works:
- detect_bundle() reads the --bundle flag from argv
- resolve_runtime_path() looks for el_runtime.js next to the source file
- compile_js_with_bundle() reads the runtime, calls codegen_js_bundle()
- codegen_js_inner(bundle_mode=true):
- emits ;(function() { "use strict"; at the top
- inlines the runtime content (stripping ES export statements which
are invalid inside an IIFE via js_strip_es_exports())
- skips the const {...} = globalThis.__el destructure -- the inlined
function declarations are already in scope within the IIFE
- closes with })(); after main()
Usage: elc --target=js --bundle app.el > app.js
Place el_runtime.js in the same directory as app.el.
Description
The Engram programming language — types as knowledge nodes, quantum-sealed prod target
216 MiB
Releases
5
El SDK (latest)
Latest
Languages
Emacs Lisp
94.7%
C
4.2%
Shell
0.3%
HTML
0.2%
Python
0.2%
Other
0.2%