This commit is contained in:
Justin Ethier 2018-08-14 12:49:35 -04:00
parent 90c2b1caf1
commit 5396e788cd

View file

@ -56,6 +56,11 @@
,(scan (if->else exp) lp))) ,(scan (if->else exp) lp)))
((app? exp) ((app? exp)
(cond (cond
;; TODO: need to detect CPS pattern without any optimizations
;((and-let* (
; )
; 'TODO
;)
((and-let* ( ((and-let* (
;; Find lambda with initial #f assignment ;; Find lambda with initial #f assignment
((ast:lambda? (car exp))) ((ast:lambda? (car exp)))
@ -121,48 +126,48 @@
;; Before any rounds of optimizations the structure is: ;; Before any rounds of optimizations the structure is:
; (define fit ; (define fit
; (lambda-28-cont ; (lambda
; (k$89 i$10$52 j$11$53) ; (k$89 i$10$52 j$11$53)
; ((lambda-27 ; ((lambda
; (r$90) ; (r$90)
; ((lambda-26 ; ((lambda
; (end$12$54) ; (end$12$54)
; ((lambda-25 ; ((lambda
; (k$16$55) ; (k$16$55)
; ((lambda-24 ; ((lambda
; (lp$13$17$56) ; (lp$13$17$56)
; ((lambda-13 ; ((lambda
; (r$92) ; (r$92)
; ((lambda-12 (r$91) (lp$13$17$56 k$89 k$16$55)) ; ((lambda (r$91) (lp$13$17$56 k$89 k$16$55))
; (set! lp$13$17$56 r$92))) ; (set! lp$13$17$56 r$92)))
; (lambda-23-cont ; (lambda
; (k$93 k$18$57) ; (k$93 k$18$57)
; ((lambda-22 ; ((lambda
; (r$97) ; (r$97)
; ((lambda-21 ; ((lambda
; (tmp$20$22$58) ; (tmp$20$22$58)
; ((lambda-20-cont ; ((lambda
; (k$98) ; (k$98)
; (if tmp$20$22$58 ; (if tmp$20$22$58
; (k$98 tmp$20$22$58) ; (k$98 tmp$20$22$58)
; ((lambda-19 ; ((lambda
; (r$101) ; (r$101)
; ((lambda-18 ; ((lambda
; (r$99) ; (r$99)
; (if r$99 ; (if r$99
; ((lambda-17 ; ((lambda
; (r$100) ; (r$100)
; (k$98 (vector-ref *puzzle* r$100))) ; (k$98 (vector-ref *puzzle* r$100)))
; (Cyc-fast-plus j$11$53 k$18$57)) ; (Cyc-fast-plus j$11$53 k$18$57))
; (k$98 #f))) ; (k$98 #f)))
; (vector-ref r$101 k$18$57))) ; (vector-ref r$101 k$18$57)))
; (vector-ref *p* i$10$52)))) ; (vector-ref *p* i$10$52))))
; (lambda-16 ; (lambda
; (r$94) ; (r$94)
; (if r$94 ; (if r$94
; ((lambda-14 (r$95) (if r$95 (k$93 #t) (k$93 #f))) ; ((lambda (r$95) (if r$95 (k$93 #t) (k$93 #f)))
; (Cyc-fast-gt k$18$57 end$12$54)) ; (Cyc-fast-gt k$18$57 end$12$54))
; ((lambda-15 (r$96) (lp$13$17$56 k$93 r$96)) ; ((lambda (r$96) (lp$13$17$56 k$93 r$96))
; (Cyc-fast-plus k$18$57 1)))))) ; (Cyc-fast-plus k$18$57 1))))))
; r$97)) ; r$97))
; (Cyc-fast-gt k$18$57 end$12$54))))) ; (Cyc-fast-gt k$18$57 end$12$54)))))
@ -171,6 +176,6 @@
; r$90)) ; r$90))
; (vector-ref *piecemax* i$10$52)))) ; (vector-ref *piecemax* i$10$52))))
(write (ast:ast->pp-sexp sexp)) (write (ast:sexp->ast sexp))
(newline) (newline)
(analyze:find-named-lets (ast:ast->pp-sexp sexp)) (analyze:find-named-lets (ast:sexp->ast sexp))