From cd288c265230f083b89e4f602b5d021e299e71c4 Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Mon, 22 Mar 2004 22:12:20 +0000 Subject: [PATCH] . original commit: 738f4aa026a799bd4ef410936b08a352f7b3ba57 --- collects/mzlib/contract.ss | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/collects/mzlib/contract.ss b/collects/mzlib/contract.ss index fb6343c..d6e9a81 100644 --- a/collects/mzlib/contract.ss +++ b/collects/mzlib/contract.ss @@ -268,7 +268,13 @@ add struct contracts for immutable structs? #f)] [(field-contracts ...) field-contracts] [(field-contract-ids ...) field-contract-ids] - [struct-name struct-name]) + [struct-name struct-name] + [struct:struct-name (datum->syntax-object + struct-name + (string->symbol + (string-append + "struct:" + (symbol->string (syntax-e struct-name)))))]) (syntax/loc stx (begin (define field-contract-ids field-contracts) ... @@ -276,7 +282,7 @@ add struct contracts for immutable structs? mutator-codes ... predicate-code constructor-code - (provide struct-name)))))) + (provide struct-name struct:struct-name)))))) ;; build-constructor-contract : syntax (listof syntax) syntax -> syntax (define (build-constructor-contract stx field-contract-ids predicate-id)