operations name
(lambda (operation info)
(case operation
- ((#F EXPAND INTEGRATE-OPERATOR) (dont-integrate))
+ ((#F EXPAND) (dont-integrate))
((IGNORE)
(ignored-variable-warning name)
(access/block expression)
(integration-info/expression info))))
+ ((INTEGRATE-OPERATOR)
+ (warn "Not integrating operator in access: " name)
+ (dont-integrate))
+
(else
(error "Unknown operation" operation))))
dont-integrate)))))
expression)))
;;;; Reference
+(define sf:warn-on-unintegrated-argument #f)
+
(define-method/integrate 'REFERENCE
(lambda (operations environment expression)
(let ((variable (reference/variable expression)))
(ignored-variable-warning (variable/name variable))
(dont-integrate))
- ((EXPAND INTEGRATE-OPERATOR)
+ ((EXPAND)
(dont-integrate))
((INTEGRATE)
new-expression)
(dont-integrate))))
+ ((INTEGRATE-OPERATOR)
+ (if sf:warn-on-unintegrated-argument
+ (warn "Not integrating operator in argument position: " variable))
+ (dont-integrate))
+
(else
(error "Unknown operation" operation))))