From e0ea64c7582a7e083b3e07880f242491ecdbde0a Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Fri, 25 Nov 2011 09:08:50 -0600 Subject: [PATCH] rename contract-generate to contract-random-generate --- collects/racket/contract/private/arrow.rkt | 2 +- collects/racket/contract/private/generate.rkt | 14 ++++++++------ collects/scribblings/reference/contracts.scrbl | 6 +++--- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/collects/racket/contract/private/arrow.rkt b/collects/racket/contract/private/arrow.rkt index ab29c455f2..52ebfb39bb 100644 --- a/collects/racket/contract/private/arrow.rkt +++ b/collects/racket/contract/private/arrow.rkt @@ -548,7 +548,7 @@ v4 todo: [gen-if-fun (λ (c v) ; If v is a function we need to gen the domain and call (if (procedure? v) - (let ([newargs (map (λ (c) (contract-generate c new-fuel)) + (let ([newargs (map (λ (c) (contract-random-generate c new-fuel)) (base->-doms/c c))]) (let* ([result (call-with-values (λ () (apply v newargs)) diff --git a/collects/racket/contract/private/generate.rkt b/collects/racket/contract/private/generate.rkt index 3dbd637806..7eb0649a02 100644 --- a/collects/racket/contract/private/generate.rkt +++ b/collects/racket/contract/private/generate.rkt @@ -9,7 +9,7 @@ (provide generate-env env-stash - contract-generate + contract-random-generate generate/direct generate/choose @@ -101,11 +101,13 @@ (generate/direct ctc fuel))) ; generate : contract int -> ctc value or error -(define (contract-generate ctc fuel [fail (λ () - (error 'contract-generate - "Unable to construct any generator for contract: ~s" - (contract-struct-name (coerce-contract 'contract-generate ctc))))]) - (let ([def-ctc (coerce-contract 'contract-generate ctc)]) +(define (contract-random-generate ctc fuel + [fail (λ () + (error 'contract-random-generate + "Unable to construct any generator for contract: ~s" + (contract-struct-name + (coerce-contract 'contract-random-generate ctc))))]) + (let ([def-ctc (coerce-contract 'contract-random-generate ctc)]) (printf "def-ctc ~s\n" def-ctc) (parameterize ([generate-env (make-hash)]) ; choose randomly diff --git a/collects/scribblings/reference/contracts.scrbl b/collects/scribblings/reference/contracts.scrbl index e372020475..56b0a80af4 100644 --- a/collects/scribblings/reference/contracts.scrbl +++ b/collects/scribblings/reference/contracts.scrbl @@ -2089,10 +2089,10 @@ parts of the contract system. } @section{Random generation} -@defproc[(contract-generate [ctc contract?] [fuel int?] [fail (-> any/c) (λ () (error ...))]) any/c]{ +@defproc[(contract-random-generate [ctc contract?] [fuel int?] [fail (-> any/c) (λ () (error ...))]) any/c]{ Attempts to randomly generate a value which will match the contract. The fuel -argument limits how hard the generator tries to generate a contract and is a rough -limit of the size of the resulting value. +argument limits how hard the generator tries to generate a value matching the +contract and is a rough limit of the size of the resulting value. The generator may fail to generate a contract, either because some contracts do not have corresponding generators (for example, not all predicates have