Paste number 23711: ctak

Paste number 23711: ctak
Pasted by: pkhuong
When:2 years, 10 months ago
Share:Tweet this! | http://paste.lisp.org/+IAN
Channel:#lisp
Paste contents:
Raw Source | XML | Display As
;;that's the ctak-helper.
;;If you can spot a discrepancy between the input and the output code, I'd
;;be much obliged.

CL-ANF> (monadify (anf '(lambda (k x y z)
			 (if (not (< y x))
			     (funcall k z)
			     (call/cc
			      (lambda (k)
				(ctak-aux k
					  (call/cc
					   (lambda (k)
					     (ctak-aux k (1- x) y z)))
					  (call/cc
					   (lambda (k)
					     (ctak-aux k (1- y) z x)))
					  (call/cc
					   (lambda (k)
					     (ctak-aux k (1- z) x y))))))))))
(LAMBDA (K X Y Z)
  (BIND (< Y X)
        (LAMBDA (#:ARG1325)
          (BIND (NOT #:ARG1325)
                (LAMBDA (#:TEST1324)
                  (IF #:TEST1324
                      (FUNCALL K Z)
                      (CALL/CC
                       (LAMBDA (K)
                         (BIND
                          (CALL/CC
                           (LAMBDA (K)
                             (BIND (1- X)
                                   (LAMBDA (#:ARG1329)
                                     (CTAK-AUX K #:ARG1329 Y Z)))))
                          (LAMBDA (#:ARG1326)
                            (BIND
                             (CALL/CC
                              (LAMBDA (K)
                                (BIND (1- Y)
                                      (LAMBDA (#:ARG1330)
                                        (CTAK-AUX K #:ARG1330 Z X)))))
                             (LAMBDA (#:ARG1327)
                               (BIND
                                (CALL/CC
                                 (LAMBDA (K)
                                   (BIND (1- Z)
                                         (LAMBDA (#:ARG1331)
                                           (CTAK-AUX K #:ARG1331 X Y)))))
                                (LAMBDA (#:ARG1328)
                                  (CTAK-AUX K
                                            #:ARG1326
                                            #:ARG1327
                                            #:ARG1328)))))))))))))))

This paste has no annotations.

Colorize as:
Show Line Numbers

Lisppaste pastes can be made by anyone at any time. Imagine a fearsomely comprehensive disclaimer of liability. Now fear, comprehensively.