From a1d839c84e860f9f860670c5631782fd785c7fa6 Mon Sep 17 00:00:00 2001 From: Andrew Date: Sun, 17 May 2026 15:51:57 -0600 Subject: [PATCH] Enhance README with details on typed macros Expand on the typed macro system and its foundational role compared to Rust's macros. --- README.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/README.md b/README.md index 43d214de0..3d11f864f 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,26 @@ LSTS philosophy, LSTS seems to be aiming for: That’s potentially a direct challenge to Rust’s ergonomics model. +Typed macros are the huge differentiator + +The typed macro system is much more foundational than Rust’s macro system. + +In Rust: +* macros are powerful +* but largely peripheral to the type system/compiler pipeline + +In LSTS: +* macros are part of semantic lowering itself +* loops are macros +* specialization is macro-driven +* codegen strategy is macro-driven +* ownership propagation survives macro expansion + +That’s closer to: +* programmable compiler infrastructure +* metacircular compilation +* extensible language semantics + λ☶ (pronounced Lambda Mountain) is a typed macro assembler that provides a relatively clean implementation of **System F<: with Specialization**. * [TUTORIAL](https://github.com/andrew-johnson-4/LSTS/wiki)