Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (define (make-monitored procedure)
- (let ((calls 0))
- (lambda parameters
- (cond ((null? parameters) (begin (set! calls (+ calls 1))
- (apply procedure parameters)))
- ((eq? (car parameters) 'how-many-calls) calls)
- ((eq? (car parameters) 'reset-count) (set! calls 0))
- (else (begin (set! calls (+ calls 1))
- (apply procedure parameters)))))))
Add Comment
Please, Sign In to add comment