; ; boot.scm - bootstrap driver ; Total Procedures in Scheme, May 2006, Chris Pressey ; For license information, see the file LICENSE in this directory. ; ; ; Bootstrapping process for asserting that the totality checker ; is itself total. ; (load "std.scm") (load "boot1.scm") (load "util.scm") (load "env.scm") (load "canon.scm") (load "crit.scm") (load "total.scm") (display "Re-loading with real definition of define-total") (newline) (load "boot2.scm") (load "util.scm") (load "env.scm") (load "canon.scm") (load "crit.scm") (load "total.scm") (load "boot3.scm") ;; Define-total. (define-total fac (lambda (n) (if (>= n 0) (cond ((zero? n) 1) (else (* n (fac (- n 1)))))))) ; ; This should be an error. ; ;(define-total ever1 ; (lambda (x) ; (cond ; ((eq? x 10000) ; x) ; (else ; (ever1 (+ x 1)))))) (display (fac 5)) (newline)