From 455489507fd6ec0a24698bd6139ef2f935844834 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Thu, 31 May 2018 19:08:41 -0400 Subject: [PATCH] Trying to understand why this is crashing --- find-direct-rec-calls.scm | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/find-direct-rec-calls.scm b/find-direct-rec-calls.scm index eaff6e62..e7f1ad4d 100644 --- a/find-direct-rec-calls.scm +++ b/find-direct-rec-calls.scm @@ -53,13 +53,20 @@ (else #f))) (for-each (lambda (exp) - (cond - ((and-let* (((define? exp)) - (def-exps (define->exp exp)) - (ast:lambda? (car def-exps)) - ) - (scan (car (ast:lambda-body (car def-exps))) (define->var exp)))) - (else #f))) + (write exp) (newline) + (and-let* (((define? exp)) + (def-exps (define->exp exp)) + (vector? (car def-exps)) + (ast:lambda? (car def-exps)) + ) + (write (vector? 1)) + #;(write `(todo exp + (vector? (car def-exps)) ;; Crashes the program, WTF? + ,(vector? 1) ;; Why would this crash the program???? + ,(car def-exps) ;; Seems fine though??? + def-exps (ast:lambda? '(test 1)) (ast:lambda? (car def-exps))))(newline) + ;;(scan (car (ast:lambda-body (car def-exps))) (define->var exp)) + )) exp) ) @@ -68,7 +75,7 @@ (define l18 #f) (define l12 #f) (define l6 #f) - (define mas + #;(define mas (lambda (k$247 x$4$135 y$3$134 z$2$133) (shorterp @@ -94,7 +101,8 @@ (k$247 z$2$133))) y$3$134 x$4$135))) - (define shorterp + (define *num-passed* 1) + #;(define shorterp (lambda (k$240 x$6$131 y$5$130) (if (null? y$5$130) @@ -104,6 +112,7 @@ (shorterp k$240 (cdr x$6$131) (cdr y$5$130)))))) )) -;(pretty-print (ast:sexp->ast sexp)) +(write `(todo exp def-exps ,(ast:lambda? 0) (ast:lambda? (car def-exps))))(newline) (find-direct-recursive-calls (ast:sexp->ast sexp)) +(write 'done)