mirror of
https://github.com/justinethier/cyclone.git
synced 2025-07-15 16:57:35 +02:00
Replace unnecessary and-let*
This commit is contained in:
parent
2c418ec33d
commit
f6be983113
1 changed files with 17 additions and 10 deletions
|
@ -28,7 +28,7 @@
|
||||||
(define (memoizable? var body)
|
(define (memoizable? var body)
|
||||||
(define cont #f)
|
(define cont #f)
|
||||||
(define (scan exp return locals)
|
(define (scan exp return locals)
|
||||||
(trace:error `(DEBUG scan ,(ast:ast->pp-sexp exp)))
|
;(trace:error `(DEBUG scan ,(ast:ast->pp-sexp exp)))
|
||||||
;(write `(DEBUG scan ,var ,cont ,(ast:ast->pp-sexp exp))) (newline)
|
;(write `(DEBUG scan ,var ,cont ,(ast:ast->pp-sexp exp))) (newline)
|
||||||
(cond
|
(cond
|
||||||
;; TODO: reject if a lambda is returned
|
;; TODO: reject if a lambda is returned
|
||||||
|
@ -94,16 +94,23 @@
|
||||||
(cdr exp)))
|
(cdr exp)))
|
||||||
(else exp)
|
(else exp)
|
||||||
))
|
))
|
||||||
|
;;(write `(DEBUG ,var ;,body
|
||||||
|
;; ,(ref? var)
|
||||||
|
;; ,(ast:lambda? body)
|
||||||
|
;; ,(eq? (ast:lambda-formals-type body) 'args:fixed)
|
||||||
|
;; ,(< (length (ast:lambda-args body)) 4) ;; Too many combinations w/more args
|
||||||
|
;; ,(adb:get/default var #f)
|
||||||
|
;; ,(adbv:self-rec-call? (adb:get/default var #f))
|
||||||
|
;;)) (newline)
|
||||||
(cond
|
(cond
|
||||||
((and-let*
|
((and
|
||||||
((ref? var)
|
(ref? var)
|
||||||
(ast:lambda? body)
|
(ast:lambda? body)
|
||||||
(eq? (ast:lambda-formals-type body) 'args:fixed)
|
(eq? (ast:lambda-formals-type body) 'args:fixed)
|
||||||
(< (length (ast:lambda-args body)) 4) ;; Too many combinations w/more args
|
(< (length (ast:lambda-args body)) 4) ;; Too many combinations w/more args
|
||||||
(adb:get/default var #f)
|
(adb:get/default var #f)
|
||||||
(adbv:self-rec-call? var)
|
(adbv:self-rec-call? (adb:get/default var #f))
|
||||||
)
|
)
|
||||||
#t)
|
|
||||||
(call/cc
|
(call/cc
|
||||||
(lambda (return)
|
(lambda (return)
|
||||||
(set! cont (car (ast:lambda-args body)))
|
(set! cont (car (ast:lambda-args body)))
|
||||||
|
|
Loading…
Add table
Reference in a new issue