From 7c3ae6dd9101d23f7748d4edd83d69b82bc0469a Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Mon, 17 Nov 2003 14:49:51 +0000 Subject: [PATCH] .. original commit: c5cf4469f99049be8ae8b56cbdaebc87aa1070e9 --- collects/mzlib/contract.ss | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/collects/mzlib/contract.ss b/collects/mzlib/contract.ss index 4be471b..cfda767 100644 --- a/collects/mzlib/contract.ss +++ b/collects/mzlib/contract.ss @@ -449,17 +449,26 @@ add structu contracts for immutable structs? ;; the argument to the result function is the value to test. ;; (the result function is the projection) - (define-struct contract (name proc)) - (define-values (make-flat-contract flat-contract-predicate - flat-contract?) + flat-contract? + + make-contract + contract-name + contract-proc + contract?) (let () + (define-struct contract (name proc)) (define-struct (flat-contract contract) (predicate)) (values make-flat-contract flat-contract-predicate - flat-contract?))) - + flat-contract? + + make-contract + contract-name + contract-proc + contract?))) + (define (flat-contract predicate) (unless (and (procedure? predicate) (procedure-arity-includes? predicate 1))