From 32c580d8490f94996c5d4dc34e690262b6fc393a Mon Sep 17 00:00:00 2001 From: Jack Firth Date: Wed, 8 Jul 2015 01:34:27 -0700 Subject: [PATCH] Add transform contract --- lens/base/transform.rkt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lens/base/transform.rkt b/lens/base/transform.rkt index 0ea3f7e..7909070 100644 --- a/lens/base/transform.rkt +++ b/lens/base/transform.rkt @@ -7,10 +7,15 @@ (require rackunit fancy-app)) -(provide lens-transform - lens-transform*) +(provide + lens-transform* + (contract-out [lens-transform (-> lens? any/c (-> any/c any/c) any/c)])) + +(define (listof* . contracts) + (or/c '() (apply list/c (append contracts (list (apply listof* contracts)))))) + (define (lens-transform lens v f) (let-lens (view setter) lens v (setter (f view))))