Will Anderson beb2a8c5bd lexer + parser + codegen: try/catch statement
try { ... } catch (name: Type) { ... } is now a first-class El statement.

Lexer: `try` and `catch` are now keywords (Try, Catch token kinds).
Parser: TryCatch AST node with try_body, catch_name, catch_body.
codegen-js: emits try { ... } catch (name) { ... } directly -- correct
  for all browser error handling patterns.
codegen.el (C backend): emits the try body with a comment; exception
  handling is a no-op since C has no analogous mechanism. Programs using
  try/catch should compile with --target=js.

The catch variable type annotation is parsed and skipped (same treatment
as all other type annotations in El).
2026-05-04 11:00:24 -05:00
S
Description
The Engram programming language — types as knowledge nodes, quantum-sealed prod target
146 MiB
2026-07-01 16:35:06 +00:00
Languages
Emacs Lisp 74.7%
C 21.8%
HTML 1.5%
Objective-C 0.6%
Shell 0.6%
Other 0.8%