diff options
| author | Taylan Kammer <taylan.kammer@gmail.com> | 2025-12-26 07:09:36 +0100 |
|---|---|---|
| committer | Taylan Kammer <taylan.kammer@gmail.com> | 2025-12-26 07:09:36 +0100 |
| commit | 4210e8538e6e0adf3af7badeab33c619f3db9497 (patch) | |
| tree | c7e5ae8b073eca42a2035772c7edb7a2e897308a /notes/250329-boot.md | |
| parent | f93437d8d54e26c64a88e4136e38f6a796d7fd8c (diff) | |
Add a note, expand other notes, add dates into notes.
Diffstat (limited to 'notes/250329-boot.md')
| -rw-r--r-- | notes/250329-boot.md | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/notes/250329-boot.md b/notes/250329-boot.md index 758d264..37c3a48 100644 --- a/notes/250329-boot.md +++ b/notes/250329-boot.md @@ -1,5 +1,7 @@ # Bootstrapping Zisp +_2025 March_ + In my opinion, any serious programming language must have a serious bootstrapping strategy that addresses the "Trusting Trust" issue aka the Thompson Hack. The easiest way to do that is making sure that @@ -14,4 +16,18 @@ Zig, in turn, will *hopefully* be possible to bootstrap from C in the future, or some language implemented in C. For C, there are some ways to bootstrap it from scratch. -*** WIP *** +## Partial self-hosting + +_2025 December_ + +Currently thinking of the following strategy, which I believe is +similar to how Guile does it: + +* There will be a Zisp interpreter written in Zig, which is fairly + simple and naive in its implementation and, for example, ignores + static type declarations. It should support the full Zisp language + including hygienic macros, but be as easy as possible to maintain. + +* The Zisp compiler will be written in Zisp. The interpreter can run + the compiler (since it can run any Zisp program) and will be used to + compile the compiler. |
