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.
1e67544c88a689289be4ee52a0494cb075cdf460
Replace str_char_at (returns strdup String) with str_char_code (returns Int) in the main lex() while loop and scan_digits/scan_ident helpers. For a 400KB combined source, str_char_at was allocating ~400K x 16B = 6.4MB of transient 2-byte strings for the ch variable alone. str_char_code returns an integer directly — zero allocation. Add Int-based helpers: is_digit_code, is_alpha_code, is_ws_code, is_alnum_or_underscore_code. Rewrite lex() operator dispatch using char code constants (e.g. '/'=47, '"'=34, '='=61). Result on main.el: 17.1MB -> 15.4MB peak RSS (-10%). Self-hosting: PASS.
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%