From 27d4c3e95fd7964da04062b91648ceeb83ae520d Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Wed, 12 Dec 2018 17:33:43 -0500 Subject: [PATCH] Added TODO --- scheme/cyclone/cps-optimizations.sld | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/scheme/cyclone/cps-optimizations.sld b/scheme/cyclone/cps-optimizations.sld index 8f40a413..5521b3b6 100644 --- a/scheme/cyclone/cps-optimizations.sld +++ b/scheme/cyclone/cps-optimizations.sld @@ -2006,7 +2006,19 @@ (when (equal? (car exp) def-sym) (trace:info `("recursive call" ,exp)) (with-var! def-sym (lambda (var) - (adbv:set-self-rec-call! var #t))))) + +;; TODO: want to set on the fnc as well, problem is base.sld:list-tail (and other globals?) has an +;; assigned value of (list ast-lamdda) instead of just ast-lambda - WTF? +;; search for adbv-set-assigned-value-helper! - can we just get car of (define->exp)??? +;; (and-let* +;; ((a-value (adbv:assigned-value var)) +;; ((ast:lambda? a-value)) +;; (lid (ast:lambda-id a-value))) +;; (with-fnc! lid (lambda (fnc) +;; (adbf:set-calls-self! fnc #t)))) + + (adbv:set-self-rec-call! var #t))) + )) (else #f))) ;; TODO: probably not good enough, what about recursive functions that are not top-level??