From d9473376884893d401c9cc692104c9563bfa10dc Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Thu, 5 Mar 2015 22:57:55 -0500 Subject: [PATCH] Reproduce crash from icyc --- test.scm | 43 ++++++++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/test.scm b/test.scm index 94898de4..f5f88512 100644 --- a/test.scm +++ b/test.scm @@ -1,19 +1,24 @@ -;; Temporary testing, delete this once it works -(define (call2 fn x y) - (write - (fn x y))) - -(define (call fn a) - (fn a)) - -(call write 'hello) - -;; Demonstrate sending an interpreted function to compiled code -;; I think in order for this to work, the compiled code would have to -;; detect an interpreted proc, and use eval to execute it - -;; TODO: to debug this, may try placing printfs in runtime's apply -(eval '(call2 (lambda (x y) (+ y x)) 2 3)) -;(eval '(call (lambda (x) (+ 1 x)) (display (+ 1 1)))) -;(eval '(call write 1)) -;(eval '(call mywrite 1)) +;;; Temporary testing, delete this once it works +;(define (call2 fn x y) +; (write +; (fn x y))) +; +;(define (call fn a) +; (fn a)) +; +;(call write 'hello) +; +;;; Demonstrate sending an interpreted function to compiled code +;;; I think in order for this to work, the compiled code would have to +;;; detect an interpreted proc, and use eval to execute it +; +;;; TODO: to debug this, may try placing printfs in runtime's apply +;(eval '(call2 (lambda (x y) (+ y x)) 2 3)) +;;(eval '(call (lambda (x) (+ 1 x)) (display (+ 1 1)))) +;;(eval '(call write 1)) +;;(eval '(call mywrite 1)) +; +(eval '(define (a x) x)) +(eval '(a 1)) +(eval '(a 1)) +(eval '(begin (define (a z) z) (a 1) (a 1)))