Trivial cleanup.
authorJoe Marshall <eval.apply@gmail.com>
Mon, 6 Jun 2011 18:34:47 +0000 (11:34 -0700)
committerJoe Marshall <eval.apply@gmail.com>
Mon, 6 Jun 2011 18:34:47 +0000 (11:34 -0700)
src/sf/subst.scm

index 4424c8bf9c86af9af59435e7ab9e03d7e8c8c796..c95d5bff0222f256d2d3f0d254b09e8fa6661cc4 100644 (file)
@@ -717,13 +717,7 @@ USA.
     (let ((integration-failure
           (lambda ()
             (variable/reference! variable)
-            (combination/make expression block operator operands)))
-
-         (integration-success
-          (lambda (operator)
-            (variable/integrated! variable)
-            (integrate/combination expression operations environment
-                                   block operator operands))))
+            (combination/make expression block operator operands))))
       (operations/lookup operations variable
         (lambda (operation info)
           (case operation
@@ -745,7 +739,10 @@ USA.
              (let ((new-expression (integrate/name expression
                                                    operator info environment)))
                (if new-expression
-                   (integration-success new-expression)
+                  (begin
+                    (variable/integrated! variable)
+                    (integrate/combination expression operations environment
+                                           block new-expression operands))
                    (integration-failure))))
 
             (else
@@ -989,8 +986,7 @@ USA.
               (error "Unfinished integration" value)
               (if-value (delayed-integration/force value)))
           (if-value value)))
-    (lambda ()
-      (if-not))
+    if-not
     (lambda ()
       (warn "Unable to integrate" (variable/name variable))
       (if-not))))