fork download
  1. (begin (define (ZED* ZEDn ZEDm) (cond (#t (* ZEDn ZEDm)) (else err))) (define (ZED- ZEDn ZEDm) (cond (#t (- ZEDn ZEDm)) (else err))) (define (ZED< ZEDn ZEDm) (cond (#t (< ZEDn ZEDm)) (else err))) (define (ZEDdisplay ZEDx) (cond (#t (display ZEDx)) (else err))) (define (ZEDfact ZEDn) (cond (#t (ZEDfact01 ZEDn 1)) (else err))) (define (ZEDfact01 ZEDn ZEDp) (cond ((ZED< ZEDn 2) ZEDp) (#t (ZEDfact01 (ZED- ZEDn 1) (ZED* ZEDn ZEDp))) (else err))) (define (ZEDmain) (cond (#t (ZEDdisplay (ZEDfact 50))) (else err)))(ZEDmain))
Success #stdin #stdout 0.02s 10760KB
stdin
(fact) n
done
#true
(fact01) n 1

(fact01) n p
done
(<) n 2
p

(fact01) n p
go
#true
(fact01) (-) n 1 (*) n p

(-) n m
done
#true
(003) "-" n m

(*) n m
done
#true
(003) "*" n m

(<) n m
done
#true
(003) "<" n m

(main)
done
#true
(display) (fact) 50

(display) x
done
#true
(002) "display" x
stdout
30414093201713378043612608166064768844377641568960512000000000000