From 6e1ffb5854c82ce4c65da7a880ba428be8bc6f63 Mon Sep 17 00:00:00 2001 From: Chris Hanson Date: Tue, 6 Feb 2018 20:22:16 -0800 Subject: [PATCH] =?utf8?q?Make=20comment=20in=20identifier=3D=3F=20more=20?= =?utf8?q?comprehensive.?= --- src/runtime/syntax.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/runtime/syntax.scm b/src/runtime/syntax.scm index b393ddd66..b73d294a5 100644 --- a/src/runtime/syntax.scm +++ b/src/runtime/syntax.scm @@ -142,8 +142,10 @@ USA. (or (eq? item-1 item-2) ;; This is necessary because an identifier that is not explicitly bound ;; by an environment is mapped to a variable item, and the variable - ;; items are not hash-consed. Therefore two references to the same - ;; variable result in two different variable items. + ;; items are not memoized by the runtime syntactic environments. Fixing + ;; this would require doing that memoizing, and also ensuring that + ;; runtime-environment->syntactic memoized its result as well. Avoiding + ;; that complexity requires this small tweak. (and (var-item? item-1) (var-item? item-2) (eq? (var-item-id item-1) -- 2.25.1