~ chicken-core (master) 0f4f5738ffa3ac925b097893b8798602e8ea3fcf
commit 0f4f5738ffa3ac925b097893b8798602e8ea3fcf
Author: felix <felix@call-with-current-continuation.org>
AuthorDate: Sat Sep 5 21:06:55 2026 +0200
Commit: felix <felix@call-with-current-continuation.org>
CommitDate: Sat Sep 5 21:06:55 2026 +0200
fix redundant node-traversals in lfa2 pass
This merged result types in conditionals incorrectly and could even
cause the lfa2 pass to loop endlessly in certain code. Stupid little
paren error.
diff --git a/lfa2.scm b/lfa2.scm
index 71e5d158..0e5df607 100644
--- a/lfa2.scm
+++ b/lfa2.scm
@@ -376,9 +376,9 @@
ae)
(walk (third subs)
(append (third tr) te)
- ae)))
+ ae))
(merge (walk (second subs) te ae)
- (walk (third subs) te ae))))
+ (walk (third subs) te ae)))))
((quote) (constant-result (first params)))
((let)
(let* ((val (first subs))
Trap