Hello, Is there a way of disabling the inlining for recursive functions?
This code: (define (do_loop i) (when (< i 1000000) (do_loop (add1 i)))) Is compiled into this: (begin (module test3 .... (require (lib "racket/main.rkt")) (define-values (_do_loop) (lambda (arg0-12) '#(do_loop #<path:/home/rtvd/src/rtvd-racket/test/compiled/test3.rkt> 3 0 15 72 #f) '(flags: preserves-marks single-result) '(captures: #%modvars (_do_loop)) (if (#%in < arg0-12 '1000000) (let ((local15 (#%in add1 arg0-12))) (if (#%in < local15 '1000000) (let ((local19 (#%in add1 local15))) (if (#%in < local19 '1000000) (let ((local23 (#%in add1 local19))) (if (#%in < local23 '1000000) (let ((local27 (#%in add1 local23))) (if (#%in < local27 '1000000) (_do_loop (#%in add1 local27)) '#<void>)) '#<void>)) '#<void>)) '#<void>)) '#<void>))))) I wonder if it would make any difference had the code been kept simple. With kind regards, Denys ____________________ Racket Users list: http://lists.racket-lang.org/users