Welcome to DrScheme, version 301.
Language: Typedscm, typed extension to EoPL(2e) custom.
Teachpack: C:\cygwin\usr\local\PLT\teachpack\drscheme-342-teachpack.scm.
> (require "my-3-5.scm")
> (show-test-output!)
> (test-hw8 "traceproc")

Test case $RCSfile: traceproc.tst,v $ of $Date: 2006/03/07 05:44:43 $

(run "let double = traceproc(z) *(z,2)\r\n           in (double 3)")
Call of traceproc(z) with arguments:
  (3)
Return of traceproc(z) with result:
  6
        ==> 6
(run "+(3, let double = traceproc(z) *(z,2) in (double 3))")
Call of traceproc(z) with arguments:
  (3)
Return of traceproc(z) with result:
  6
        ==> 9
(run
 "let makemult = traceproc (maker, x)\r\n\t                        if x\r\n                                then +(4,(maker maker -(x,1)))\r\n                                else 0\r\n               in let times4 = traceproc (x) (makemult makemult x)\r\n                  in (times4 3)")
Call of traceproc(x) with arguments:
  (3)
Call of traceproc(maker, x) with arguments:
  (<traced-closure(maker, x)> 3)
Call of traceproc(maker, x) with arguments:
  (<traced-closure(maker, x)> 2)
Call of traceproc(maker, x) with arguments:
  (<traced-closure(maker, x)> 1)
Call of traceproc(maker, x) with arguments:
  (<traced-closure(maker, x)> 0)
Return of traceproc(maker, x) with result:
  0
Return of traceproc(maker, x) with result:
  4
Return of traceproc(maker, x) with result:
  8
Return of traceproc(maker, x) with result:
  12
Return of traceproc(x) with result:
  12
        ==> 12
All tests passed!
> 
