summaryrefslogtreecommitdiff
path: root/whereweleftoff.org
diff options
context:
space:
mode:
authorLLLL Colonq <llll@colonq>2026-06-29 20:29:36 -0400
committerLLLL Colonq <llll@colonq>2026-06-29 20:29:36 -0400
commit8909986b89eaac74bb4cd8dc7019f96e4f650470 (patch)
treede2865d7d7fffefddb38c7d36e556f67e305f6c1 /whereweleftoff.org
parent3324b894adfc06d88c65ea7cb70d98a446f733d5 (diff)
Initial annotations
Diffstat (limited to 'whereweleftoff.org')
-rw-r--r--whereweleftoff.org8
1 files changed, 8 insertions, 0 deletions
diff --git a/whereweleftoff.org b/whereweleftoff.org
new file mode 100644
index 0000000..3b89918
--- /dev/null
+++ b/whereweleftoff.org
@@ -0,0 +1,8 @@
+[2026-06-26]
+
+- annotations do not work properly because macroexpansion creates an entirely new body for lambdas
+- we realized that we are handling macro application in two separate places: pit_expand_macros expands lambda bodies, and pit_eval expands macros encountered while evaling. we ought to unify this so that only one is used (probably pit_expand_macros, because we need to expand macros eagerly to identify free variables to capture)
+- we probably can make pit_expand_macros and pit_eval much nicer
+- we can probably make pit_expand_macros operate in place
+- if we want to be really smart, cool, happy, rich:
+ let's just make stuff translate to a little VM before it evaluates, and let's store VM programs as functions instead of sexps