compile the left-hand sides of define-judgment only once, not during each time we try to check a judgment
related to PR 12380
This commit is contained in:
parent
2d0fa3a60b
commit
b93486ed69
|
@ -1891,10 +1891,12 @@
|
|||
(for ([output outputs])
|
||||
(check-judgment-form-contract `#,name output compiled-output-ctcs 'O '#,mode))
|
||||
outputs))))]))
|
||||
(with-syntax ([(clause-proc ...) (map compile-clause clauses)])
|
||||
#'(λ (input)
|
||||
(for/fold ([outputs '()]) ([rule (list clause-proc ...)])
|
||||
(append (rule input) outputs)))))
|
||||
(with-syntax ([(clause-proc ...) (map compile-clause clauses)]
|
||||
[(clause-proc-ids ...) (generate-temporaries clauses)])
|
||||
(with-syntax ([(backwards-ids ...) (reverse (syntax->list #'(clause-proc-ids ...)))])
|
||||
#'(let ([clause-proc-ids clause-proc] ...)
|
||||
(λ (input)
|
||||
(append (backwards-ids input) ...))))))
|
||||
|
||||
(define-for-syntax (do-compile-judgment-form-lws clauses)
|
||||
(syntax-case clauses ()
|
||||
|
|
Loading…
Reference in New Issue
Block a user