Article View: net.lang.lisp
Article #717Re: call/cc and proper tail recursion
From: harrison
Date: Thu, 16 Oct 1986 15:36
Date: Thu, 16 Oct 1986 15:36
14 lines
1017 bytes
1017 bytes
The example has a typo! Should be:
(define f (lambda (x y)
(if (p1 x y) (bad-function))
(fn-with-side-effects x y)
(if (p2 x y) #!null (f (cdr x) (cdr y)))))
Again, bad-function is defined as
(lambda () (set! g (call/cc (lambda (x) x))))
My claim is, that 'proper' tail recursion will cause an incorrect
result here (upon the application of g).
Technical Details
Message-ID:
<20000005@uicsrd>Path:
arc1-ca.pugleaf.net!utzoo!watmath!clyde!cbatt!ihnp4!inuxc!pur-ee!uiucdcs!uiucuxc!uicsrd!harrisonReferences:
<20000003@uicsrd>Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: arc1-ca.pugleaf.net!utzoo!watmath!clyde!cbatt!ihnp4!inuxc!pur-ee!uiucdcs!uiucuxc!uicsrd!harrison From: harrison@uicsrd.CSRD.UIUC.EDU Newsgroups: net.lang.lisp Subject: Re: call/cc and proper tail recursion Message-ID: <20000005@uicsrd> Date: Thu, 16-Oct-86 10:36:00 EST Article-I.D.: uicsrd.20000005 Posted: Thu Oct 16 10:36:00 1986 Date-Received: Sun, 26-Oct-86 01:13:32 EST References: <20000003@uicsrd> Lines: 14 Nf-ID: #R:uicsrd:20000003:uicsrd:20000005:000:417 Nf-From: uicsrd.CSRD.UIUC.EDU!harrison Oct 16 09:36:00 1986