Data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 7387c8f97b
commit cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions

View file

@ -0,0 +1,5 @@
(define (A m n)
(cond
((= m 0) (+ n 1))
((= n 0) (A (- m 1) 1))
(else (A (- m 1) (A m (- n 1))))))

View file

@ -0,0 +1,29 @@
(define (A m n)
(letrec ((A-stream
(cons-stream
(ints-from 1) ;; m = 0
(cons-stream
(ints-from 2) ;; m = 1
(cons-stream
;; m = 2
(stream-map (lambda (n)
(1+ (* 2 (1+ n))))
(ints-from 0))
(cons-stream
;; m = 3
(stream-map (lambda (n)
(- (knuth-up-arrow 2 (- m 2) (+ n 3)) 3))
(ints-from 0))
;; m = 4...
(stream-tail A-stream 3)))))))
(stream-ref (stream-ref A-stream m) n)))
(define (ints-from n)
(letrec ((ints-rec (cons-stream n (stream-map 1+ ints-rec))))
ints-rec))
(define (knuth-up-arrow a n b)
(let loop ((n n) (b b))
(cond ((= b 0) 1)
((= n 1) (expt a b))
(else (loop (-1+ n) (loop n (-1+ b)))))))