From 407a0c0581dcaa25a42d6425e25ce3ab309b801d Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Fri, 8 Feb 2019 13:06:05 -0500 Subject: [PATCH] Cleanup old comments and fnc names --- analyze-pure-fncs.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/analyze-pure-fncs.scm b/analyze-pure-fncs.scm index 734c3952..b07ac358 100644 --- a/analyze-pure-fncs.scm +++ b/analyze-pure-fncs.scm @@ -22,7 +22,9 @@ ) )) -;; TODO: function to actually scan a def to see if that def can be memoized +;; Predicate to determine if a function can be memoized +;; var - symbol - global name of the function +;; body - lambda ast - Function object (define (memoizable? var body) (define cont #f) (define (scan exp return locals) @@ -110,7 +112,8 @@ (else #f)) ) -(define (analyze:memoize-pure-fncs sexp) +;; Transformation to memoize simple recursive numeric functions +(define (opt:memoize-pure-fncs sexp) (define memo-tbl '()) ;; exp - S-expression to scan @@ -125,8 +128,6 @@ ((ref? exp) exp) ((define? exp) ;; TODO: support non-top-level defines in the future as well - - ;; TODO: is this a candidate function? if so, scan it using (memoizable?) (let ((var (define->var exp)) (body (car (define->exp exp)))) (cond @@ -325,7 +326,7 @@ ;(analyze:find-recursive-calls ast) (pretty-print (ast:ast->pp-sexp - (analyze:memoize-pure-fncs ast)))) + (opt:memoize-pure-fncs ast)))) ;; (pretty-print ;; (ast:ast->pp-sexp