From 0f7a946dbab558ed69558d7d6dbad7ae2999c6ad Mon Sep 17 00:00:00 2001 From: Benjamin Greenman Date: Wed, 30 Dec 2015 18:25:21 -0500 Subject: [PATCH] put contract-property accessors in an itemlist --- .../scribblings/reference/contracts.scrbl | 40 +++++++++++-------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/pkgs/racket-doc/scribblings/reference/contracts.scrbl b/pkgs/racket-doc/scribblings/reference/contracts.scrbl index 615ec985f2..15d062c20a 100644 --- a/pkgs/racket-doc/scribblings/reference/contracts.scrbl +++ b/pkgs/racket-doc/scribblings/reference/contracts.scrbl @@ -2562,23 +2562,29 @@ These functions build the arguments for @racket[prop:contract], @racket[prop:chaperone-contract], and @racket[prop:flat-contract], respectively. A @deftech{contract property} specifies the behavior of a structure when used as -a contract. It is specified in terms of six accessors: @racket[get-name], -which produces a description to @racket[write] as part of a contract violation; -@racket[get-first-order], which produces a first-order predicate to be used by -@racket[contract-first-order-passes?]; @racket[get-projection], which -produces a blame-tracking projection defining the behavior of the contract; -@racket[stronger], which is a predicate that determines whether this contract -(passed in the first argument) is stronger than some other contract (passed -in the second argument) and whose default always returns @racket[#f]; - @racket[generate], which returns a thunk -that generates random values matching the contract (using @racket[contract-random-generate-fail]) -to indicate failure) or @racket[#f] to indicate -that random generation for this contract isn't supported; @racket[exercise], -which returns a function that exercises values matching the contract (e.g., -if it is a function contract, it may call the function) and a list of contracts -whose values will be generated by this process; and @racket[is-list-contract?], -which is used by @racket[flat-contract?] to determine if this contract -accepts only @racket[list?]s. +a contract. It is specified in terms of seven accessors: +@itemlist[ + @item{@racket[get-name] which produces a description to @racket[write] as part + of a contract violation;} + @item{@racket[get-first-order], which produces a first-order predicate to be + used by @racket[contract-first-order-passes?];} + @item{@racket[get-projection], which produces a blame-tracking projection + defining the behavior of the contract;} + @item{@racket[stronger], which is a predicate that determines whether this + contract (passed in the first argument) is stronger than some other + contract (passed in the second argument) and whose default always + returns @racket[#f];} + @item{@racket[generate], which returns a thunk that generates random values + matching the contract (using @racket[contract-random-generate-fail]) + to indicate failure) or @racket[#f] to indicate that random + generation for this contract isn't supported;} + @item{@racket[exercise], which returns a function that exercises values + matching the contract (e.g., if it is a function contract, it may call + the function) and a list of contracts whose values will be generated + by this process;} + @item{and @racket[is-list-contract?], which is used by @racket[flat-contract?] + to determine if this contract accepts only @racket[list?]s.} +] At least one of the @racket[late-neg-proj], @racket[proj], @racket[val-first-proj], or @racket[first-order] must be non-@racket[#f].