;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Example game: ;; ;; scheme@(guile-user)> (start 60 70) ;; ;; $21 = 65 ;; ;; scheme@(guile-user)> (bigger) ;; ;; $22 = 68 ;; ;; scheme@(guile-user)> (bigger) ;; ;; $23 = 69 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; also see (info "(guile) Definition") (define lower 1) (define upper 100) (define (start n m) (set! lower (min n m)) (set! upper (max n m)) (guess)) ;;;; helpers (define (guess) (quotient (+ lower upper) 2)) (define (smaller) (set! upper (max lower (- (guess) 1))) (guess)) (define (bigger) (set! lower (min upper (+ (guess) 1))) (guess))