From baa670aa8f73f61ce58b54a8406bf33f1381d403 Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Sat, 22 Nov 2014 19:42:25 -0800 Subject: [PATCH] add contract to make-caching-proc --- cache.rkt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cache.rkt b/cache.rkt index c44f26b..a698889 100644 --- a/cache.rkt +++ b/cache.rkt @@ -1,8 +1,9 @@ #lang racket/base -(require (for-syntax racket/base)) +(require (for-syntax racket/base) racket/contract) (provide (all-defined-out)) -(define (make-caching-proc base-proc) +(define/contract (make-caching-proc base-proc) + (procedure? . -> . procedure?) (let ([cache (make-hash)]) (λ args (hash-ref! cache args (λ () (apply base-proc args))))))