(load "for.ss") (load "listprocs.ss") (define mystery (lambda (null? if list) (if (null? list) list 3))) (define nest (lambda (x) (lambda (x) (+ x x)))) (define x 0) (define (nextx) (set! x (+ x 1)) x) (define (make-letter-tallys) (for (char->integer #\a) (char->integer #\z) (lambda (accum cno) (append accum (list (cons (integer->char cno) 0)))) null)) (define (count-letters msg) (let ((letter-uses (make-letter-tallys))) (map (lambda (c) (insertlg (lambda (thisletter foundit) (if foundit foundit (if (eq? (car thisletter) c) (begin (set-cdr! thisletter (+ (cdr thisletter) 1)) #t) #f))) letter-uses #f)) (string->list msg)) letter-uses))