45 lines
1.1 KiB
Racket
45 lines
1.1 KiB
Racket
#lang scribble/doc
|
|
@(require scribble/manual scribble/eval "guide-utils.rkt")
|
|
|
|
@title[#:tag "contracts" #:style 'toc]{Contracts}
|
|
|
|
This chapter provides a gentle introduction to Racket's
|
|
contract system.
|
|
|
|
@refdetails["contracts"]{contracts}
|
|
|
|
@local-table-of-contents[]
|
|
|
|
@;{
|
|
|
|
Somewhere, discuss eq? and its impact on lists and
|
|
procedures.
|
|
|
|
Also, discuss difference between contracts on
|
|
mutable datastructures & contracts on immutable ones.
|
|
|
|
Fill in question on optional arguments in general-function contracts.
|
|
|
|
->d and dependency (commented out section in general contracts).
|
|
|
|
update string-pad-center to show examples via REPL notation:
|
|
|
|
(string-pad-center "nba" 10)
|
|
(code:comment "=> \" abc \"")
|
|
|
|
(string-pad-center "nba" 10 #\-)
|
|
(code:comment "=> \"---abc----\"")
|
|
|
|
|
|
}
|
|
|
|
|
|
@include-section["contracts-intro.scrbl"]
|
|
@include-section["contracts-simple-function.scrbl"]
|
|
@include-section["contracts-general-function.scrbl"]
|
|
@include-section["contracts-first-extended-example.scrbl"]
|
|
@include-section["contracts-structure.scrbl"]
|
|
@include-section["contracts-exists.scrbl"]
|
|
@include-section["contracts-examples.scrbl"]
|
|
@include-section["contracts-gotchas.scrbl"]
|