Guest User

Untitled

a guest
Feb 20th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.48 KB | None | 0 0
  1. (define (make-monitored procedure)
  2. (let ((calls 0))
  3. (lambda parameters
  4. (cond ((null? parameters) (begin (set! calls (+ calls 1))
  5. (apply procedure parameters)))
  6. ((eq? (car parameters) 'how-many-calls) calls)
  7. ((eq? (car parameters) 'reset-count) (set! calls 0))
  8. (else (begin (set! calls (+ calls 1))
  9. (apply procedure parameters)))))))
Add Comment
Please, Sign In to add comment