diff --git a/collects/deinprogramm/define-record-procedures.scm b/collects/deinprogramm/define-record-procedures.scm index a4376d3e25..ffd1a9d150 100644 --- a/collects/deinprogramm/define-record-procedures.scm +++ b/collects/deinprogramm/define-record-procedures.scm @@ -151,13 +151,14 @@ #'(at ?param (property ?accessor ?param)))) (syntax->list #'(our-accessor ...)) (syntax->list #'(?param ...))))) - #'(define-contract ?type-spec - (combined (at ?type-name (predicate real-predicate)) - component-contract ...)))) + #'(define ?type-spec + (contract + (combined (at ?type-name (predicate real-predicate)) + component-contract ...))))) (_ ;; we use real-predicate to avoid infinite recursion if a contract ;; for ?type-name using ?predicate is inadvertently defined - #'(define-contract ?type-name (predicate real-predicate)))))) + #'(define ?type-name (contract (predicate real-predicate))))))) (with-syntax ((defs (stepper-syntax-property (syntax/loc x defs) 'stepper-skip-completely #t)) diff --git a/collects/deinprogramm/scribblings/ka.scrbl b/collects/deinprogramm/scribblings/ka.scrbl index 45b6592ccd..2b76107089 100644 --- a/collects/deinprogramm/scribblings/ka.scrbl +++ b/collects/deinprogramm/scribblings/ka.scrbl @@ -141,10 +141,11 @@ Vertrag. Aus der Datendefinition entsteht eine Vertragsdefinition folgender Form: @schemeblock[ -(define-contract ctr - (mixed #,(elem (scheme ctr) (subscript "1")) - ... - #,(elem (scheme ctr) (subscript "n")))) +(define ctr + (contract + (mixed #,(elem (scheme ctr) (subscript "1")) + ... + #,(elem (scheme ctr) (subscript "n"))))) ] Wenn die Prädikate für die einzelnen Sorten @elem[(scheme pred?) diff --git a/collects/tests/deinprogramm/contract.ss b/collects/tests/deinprogramm/contract.ss index b71ffffd30..b56c2d8db8 100644 --- a/collects/tests/deinprogramm/contract.ss +++ b/collects/tests/deinprogramm/contract.ss @@ -191,7 +191,7 @@ (test-case "predicate" - (define-contract integer (predicate integer?)) + (define integer (predicate integer?)) (check-equal? (say-no (apply-contract integer 5)) 5) (check-equal? (say-no (apply-contract integer "foo")) 'no))