11 lines
347 B
Scheme
11 lines
347 B
Scheme
(define (make rules targets . maybe-args)
|
|
(let-optionals maybe-args ((pred string=?)
|
|
(init-state (list)))
|
|
(let* ((rule-set (rules->rule-set rules))
|
|
(target-rules (map (lambda (target)
|
|
(lookup-rule pred target rules))
|
|
targets)))
|
|
(map (lambda (t)
|
|
(rule-make t init-state rule-set))
|
|
target-rules))))
|