aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob L. Kreuze2023-05-03 13:55:11 -0400
committerJakob L. Kreuze2023-05-03 13:55:11 -0400
commit59e599577761e9b88dfe0c0aa7e69617de270d64 (patch)
tree9b8b6c71918f97fe7f06be051cae48a72a79d742
parent8896473836b9e995aeb7605a4af5edbb72989501 (diff)
Fix parsing of comprehensions
-rw-r--r--compiler/passes/preprocess-policy.scm6
1 files changed, 3 insertions, 3 deletions
diff --git a/compiler/passes/preprocess-policy.scm b/compiler/passes/preprocess-policy.scm
index e8141fe..054edca 100644
--- a/compiler/passes/preprocess-policy.scm
+++ b/compiler/passes/preprocess-policy.scm
@@ -159,19 +159,19 @@ field-eqv: assignment to a reference (varname[field] IS value IF condition)
((string= "arraycomprehension" type)
(make <comprehension>
#:kind 'array
- #:key (parse-constant (assoc-ref value "term"))
+ #:key (parse-reference (assoc-ref (assoc-ref value "term") "value"))
#:value #f
#:body (parse-constant (assoc-ref value "body"))))
((string= "setcomprehension" type)
(make <comprehension>
#:kind 'set
- #:key (parse-constant (assoc-ref value "term"))
+ #:key (parse-reference (assoc-ref (assoc-ref value "term") "value"))
#:value #f
#:body (parse-constant (assoc-ref value "body"))))
((string= "objectcomprehension" type)
(make <comprehension>
#:kind 'object
- #:key (parse-constant (assoc-ref value "key"))
+ #:key (parse-reference (assoc-ref (assoc-ref value "key") "value"))
#:value (parse-constant (assoc-ref value "value"))
#:body (parse-constant (assoc-ref value "body"))))
;; (else (error "unidentified type" type))

© 2015 - 2026 Jakob L. Kreuze