Skip to content

Commit 0e00487

Browse files
authored
Merge pull request #2068 from Lambda-Mountain-Compiler-Backend/andrew4328-patch-1
Enhance README with details on typed macros
2 parents fc9cdd0 + a1d839c commit 0e00487

1 file changed

Lines changed: 20 additions & 0 deletions

File tree

README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,26 @@ LSTS philosophy, LSTS seems to be aiming for:
2828

2929
That’s potentially a direct challenge to Rust’s ergonomics model.
3030

31+
Typed macros are the huge differentiator
32+
33+
The typed macro system is much more foundational than Rust’s macro system.
34+
35+
In Rust:
36+
* macros are powerful
37+
* but largely peripheral to the type system/compiler pipeline
38+
39+
In LSTS:
40+
* macros are part of semantic lowering itself
41+
* loops are macros
42+
* specialization is macro-driven
43+
* codegen strategy is macro-driven
44+
* ownership propagation survives macro expansion
45+
46+
That’s closer to:
47+
* programmable compiler infrastructure
48+
* metacircular compilation
49+
* extensible language semantics
50+
3151
λ☶ (pronounced Lambda Mountain) is a typed macro assembler that provides a relatively clean implementation of **System F<: with Specialization**.
3252

3353
* [TUTORIAL](https://github.com/andrew-johnson-4/LSTS/wiki)

0 commit comments

Comments
 (0)