From 6f0c6e636f8bc9b720284fbe3c07991326a0c70f Mon Sep 17 00:00:00 2001 From: Linus Date: Tue, 11 May 2021 10:00:46 +0200 Subject: [PATCH] Fixed error reporting of missing :for clause --- goof.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/goof.scm b/goof.scm index fda7b9b..aea751e 100644 --- a/goof.scm +++ b/goof.scm @@ -147,7 +147,7 @@ ((eq? 'acc type) (valid-acc-clauses)))) (define (pred x) (free-identifier=? x binding)) (find pred searchee)) - (syntax-case stx (:acc) + (syntax-case stx (:acc :for) ((_ accumulator :acc one two original-syntax . rest) (if (clause-defined? 'acc #'accumulator) #'(accumulator :acc one two original-syntax . rest) @@ -155,9 +155,9 @@ "Unknown accumulator in loop: " #'original-syntax #'accumulator))) - ((_ iterator one two original-syntax . rest) + ((_ iterator :for one two original-syntax . rest) (if (clause-defined? 'for #'iterator) - #'(iterator one two original-syntax . rest) + #'(iterator :for one two original-syntax . rest) (syntax-violation (syntax->datum #'iterator) "Unknown iterator in loop: " #'original-syntax @@ -219,7 +219,6 @@ . body)))) - (define-syntax loop/list/parallel (syntax-rules () ((n (clauses ...) body ...)