svn: r11390
This commit is contained in:
Eli Barzilay 2008-08-22 16:08:29 +00:00
parent 896757cf1f
commit dfac6998fa

View File

@ -125,7 +125,7 @@ arguments: @scheme[char?]. }
We all know that @scheme[+] in Beginner Scheme is a function
that consumes at least two numbers but, in principle,
arbitraily many more. Defining the function is easy:
arbitrarily many more. Defining the function is easy:
@schemeblock[
(define (plus fst snd . rst)
(foldr + (+ fst snd) rst))
@ -159,7 +159,7 @@ rest argument follows @scheme[#:rest]
Since the remainder of the actual arguments are collected
in a list for a rest parameter such as @scheme[rst], the
contract demands a list of values; in this specific
examples, these values must be number.
examples, these values must be numbers.
@ctc-section[#:tag "keywords"]{Keyword Arguments}
@ -307,7 +307,7 @@ Then, informally, the proper precondition for @scheme[withdraw] is that
``the balance of the given account is greater than or equal to the given (withdrawal) amount.''
The postcondition is similar to the one for
@ctc-link["flat-named-contracts"]{@scheme[deposit]}:
``the balance of the resulting account is larger than (or equal to) than the one of the
``the balance of the resulting account is larger than (or equal to) the one of the
given account.''
You could of course also formulate a full-fledged correctness condition, namely,
that the balance of the resulting account is equal to the balance of the given
@ -319,7 +319,7 @@ conditions we just discussed:
scheme
(code:comment "section 1: the contract definitions")
(define-struct account (balance))
(define-struct account (balance) #:mutable)
(define amount natural-number/c)
(define msg> "account a with balance larger than ~a expected")