`((spar
,(spar-elt
(spar-push-elt-if identifier? spar-arg:form)
- (spar-push-if mit-lambda-list? spar-arg:form)))
+ (spar-push-form-if mit-lambda-list? spar-arg:form)))
(list (+ any)))
(lambda (name bvl body-forms)
(scons-define name
(scons-rule
`((spar
,(spar-elt
- (spar-push-elt spar-arg:form)
- (spar-push-if mit-lambda-list? spar-arg:form)))
+ (spar-push-elt)
+ (spar-push-form-if mit-lambda-list? spar-arg:form)))
(list (+ any)))
(lambda (nested bvl body-forms)
(scons-define nested
(spar-elt)
(spar-elt
(spar-push-elt-if identifier? spar-arg:form)
- (spar-push-if mit-lambda-list? spar-arg:form))
+ (spar-push-form-if mit-lambda-list? spar-arg:form))
spar-push-body))))
(define (assemble-lambda-item name bvl body senv)
(%output-push-all output (%subst-args input senv output args))
failure)))
-(define (spar-push-if predicate . args)
+(define (spar-push-form-if predicate . args)
(spar-seq (apply spar-match predicate args)
- (apply spar-push args)))
+ (spar-push spar-arg:form)))
(define (spar-push-value procedure . args)
(lambda (input senv output success failure)
(define (spar-match-elt predicate . args)
(spar-elt (apply spar-match predicate args)))
-(define (spar-push-elt . args)
- (spar-elt (apply spar-push args)))
+(define (spar-push-elt)
+ (spar-elt (spar-push spar-arg:form)))
(define (spar-push-elt-if predicate . args)
- (spar-elt (apply spar-push-if predicate args)))
+ (spar-elt (apply spar-push-form-if predicate args)))
(define (spar-match-null)
(spar-match null? spar-arg:form))
(cdr form))
(else (bad-pattern pattern)))))))
(rules (''ignore (:elt))
- (''any (:push-elt (:form)))
+ (''any (:push-elt))
(''id (:push-elt-if (:id?) (:form)))
(''symbol (:push-elt-if (:symbol?) (:form)))
(procedure? (:push-elt-if pattern (:form)))