{"size": 1215, "ext": "scrbl", "max_stars_repo_path": "pkgs/racket-doc/scribblings/guide/contracts.scrbl", "max_stars_repo_name": "lkh01/racket", "max_stars_repo_stars_event_min_datetime": "2018-07-29T04:13:52.000Z", "max_stars_repo_stars_event_max_datetime": "2022-02-14T16:11:17.000Z", "max_issues_repo_path": "pkgs/racket-doc/scribblings/guide/contracts.scrbl", "max_issues_repo_name": "lkh01/racket", "max_issues_repo_issues_event_min_datetime": "2017-08-25T20:26:37.000Z", "max_issues_repo_issues_event_max_datetime": "2022-02-26T17:48:40.000Z", "max_forks_repo_path": "pkgs/racket-doc/scribblings/guide/contracts.scrbl", "max_forks_repo_name": "lkh01/racket", "max_forks_repo_forks_event_min_datetime": "2016-04-25T11:47:57.000Z", "max_forks_repo_forks_event_max_datetime": "2017-05-09T14:52:48.000Z"}
{"max_stars_count": 10, "max_issues_count": 15, "max_forks_count": 3, "avg_line_length": 26.4130434783, "max_line_length": 69, "alphanum_fraction": 0.753909465}
#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/new-combinators.scrbl"]
@include-section["contracts/gotchas.scrbl"]
