The Racket Essentials chapter introduced some of Racketβs syntactic forms: definitions, procedure applications, conditionals, and so on. This section provides more details on those forms, plus a few additional basic forms.
4.1Notation
4.2Identifiers and Binding
4.3Function Calls (Procedure Applications)
4.3.1Evaluation Order and Arity
4.3.2Keyword Arguments
4.3.3The apply Function
4.4Functions (Procedures): lambda
4.4.1Declaring a Rest Argument
4.4.2Declaring Optional Arguments
4.4.3Declaring Keyword Arguments
4.4.4Arity-Sensitive Functions: case-lambda
4.5Definitions: define
4.5.1Function Shorthand
4.5.2Curried Function Shorthand
4.5.3Multiple Values and define-values
4.5.4Internal Definitions
4.6Local Binding
4.6.1Parallel Binding: let
4.6.2Sequential Binding: let*
4.6.3Recursive Binding: letrec
4.6.4Named let
4.6.5Multiple Values: let-values, let*-values, letrec-values
4.7Conditionals
4.7.1Simple Branching: if
4.7.2Combining Tests: and and or
4.7.3Chaining Tests: cond
4.8Sequencing
4.8.1Effects Before: begin
4.8.2Effects After: begin0
4.8.3Effects If...: when and unless
4.9Assignment: set!
4.9.1Guidelines for Using Assignment
4.9.2Multiple Values: set!-values
4.10Quoting: quote and β
4.11Quasiquoting: quasiquote and β
4.12Simple Dispatch: case
4.13Dynamic Binding: parameterize
AltStyle γ«γγ£γ¦ε€ζγγγγγΌγΈ (->γͺγͺγΈγγ«) / γ’γγ¬γΉ: γ’γΌγ: γγγ©γ«γ ι³ε£°γγ©γ¦γΆ γ«γδ»γ ι θ²εθ»’ ζεζ‘ε€§ γ’γγ€γ«