Root higher-order CPS term is always $kfun $cont
[bpt/guile.git] / module / language / cps / contification.scm
index 477e003..dc832c3 100644 (file)
           (if (scope-contains? k-scope term-k)
               term-k
               (match (lookup-cont k-scope dfg)
-                (($ $kentry src meta self tail clause)
+                (($ $kfun src meta self tail clause)
                  ;; K is the tail of some function.  If that function
                  ;; has just one clause, return that clause.  Otherwise
                  ;; bail.
       (match cont
         (($ $cont sym ($ $kargs _ _ body))
          (visit-term body sym))
-        (($ $cont sym ($ $kentry src meta self tail clause))
+        (($ $cont sym ($ $kfun src meta self tail clause))
          (when clause (visit-cont clause)))
         (($ $cont sym ($ $kclause arity body alternate))
          (visit-cont body)
                 (if (null? rec)
                     '()
                     (list rec)))
-               (((and elt (n s ($ $fun free ($ $cont kentry))))
+               (((and elt (n s ($ $fun free ($ $cont kfun))))
                  . nsf)
-                (if (recursive? kentry)
+                (if (recursive? kfun)
                     (lp nsf (cons elt rec))
                     (cons (list elt) (lp nsf rec)))))))
          (define (extract-arities+bodies clauses)
               (match fun
                 ((($ $fun free
                      ($ $cont fun-k
-                        ($ $kentry src meta self ($ $cont tail-k ($ $ktail))
+                        ($ $kfun src meta self ($ $cont tail-k ($ $ktail))
                            clause)))
                   ...)
                  (call-with-values (lambda () (extract-arities+bodies clause))
          (match exp
            (($ $fun free
                ($ $cont fun-k
-                  ($ $kentry src meta self ($ $cont tail-k ($ $ktail)) clause)))
+                  ($ $kfun src meta self ($ $cont tail-k ($ $ktail)) clause)))
             (if (and=> (bound-symbol k)
                        (lambda (sym)
                          (contify-fun term-k sym self tail-k
                 (visit-fun exp)))
            (_ #t)))))
 
-    (visit-fun fun)
+    (visit-cont fun)
     (values call-substs cont-substs fun-elisions cont-splices)))
 
 (define (apply-contification fun call-substs cont-substs fun-elisions cont-splices)
        ,#f)
       (($ $cont sym ($ $kargs names syms body))
        (sym ($kargs names syms ,(visit-term body sym))))
-      (($ $cont sym ($ $kentry src meta self tail clause))
-       (sym ($kentry src meta self ,tail ,(and clause (visit-cont clause)))))
+      (($ $cont sym ($ $kfun src meta self tail clause))
+       (sym ($kfun src meta self ,tail ,(and clause (visit-cont clause)))))
       (($ $cont sym ($ $kclause arity body alternate))
        (sym ($kclause ,arity ,(visit-cont body)
                       ,(and alternate (visit-cont alternate)))))
            (or (contify-call src proc args)
                (continue k src exp)))
           (_ (continue k src exp)))))))
-  (visit-fun fun))
+  (visit-cont fun))
 
 (define (contify fun)
   (call-with-values (lambda () (compute-contification fun))