I was able to write something similar in chez-scheme
(define deriv (lambda (f)
(let ((dx .0001))
(lambda (x)
(/ (- (f (+ x dx)) (f x)) dx)))))