This file is indexed.

/usr/share/doc/racket/reference/lambda.html is in racket-doc 6.7-3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"/><title>3.8&nbsp;Procedure Expressions: lambda and case-lambda</title><link rel="stylesheet" type="text/css" href="../scribble.css" title="default"/><link rel="stylesheet" type="text/css" href="extras.css" title="default"/><link rel="stylesheet" type="text/css" href="../racket.css" title="default"/><link rel="stylesheet" type="text/css" href="icons.css" title="default"/><link rel="stylesheet" type="text/css" href="../manual-style.css" title="default"/><link rel="stylesheet" type="text/css" href="../manual-racket.css" title="default"/><link rel="stylesheet" type="text/css" href="../manual-racket.css" title="default"/><link rel="stylesheet" type="text/css" href="../doc-site.css" title="default"/><script type="text/javascript" src="../scribble-common.js"></script><script type="text/javascript" src="../manual-racket.js"></script><script type="text/javascript" src="../manual-racket.js"></script><script type="text/javascript" src="../doc-site.js"></script><script type="text/javascript" src="../local-redirect/local-redirect.js"></script><script type="text/javascript" src="../local-redirect/local-user-redirect.js"></script><!--[if IE 6]><style type="text/css">.SIEHidden { overflow: hidden; }</style><![endif]--></head><body id="doc-racket-lang-org"><div class="tocset"><div class="tocview"><div class="tocviewlist tocviewlisttopspace"><div class="tocviewtitle"><table cellspacing="0" cellpadding="0"><tr><td style="width: 1em;"><a href="javascript:void(0);" title="Expand/Collapse" class="tocviewtoggle" onclick="TocviewToggle(this,&quot;tocview_0&quot;);">&#9658;</a></td><td></td><td><a href="index.html" class="tocviewlink" data-pltdoc="x"><span style="font-weight: bold">The Racket Reference</span></a></td></tr></table></div><div class="tocviewsublisttop" style="display: none;" id="tocview_0"><table cellspacing="0" cellpadding="0"><tr><td align="right">1&nbsp;</td><td><a href="model.html" class="tocviewlink" data-pltdoc="x">Language Model</a></td></tr><tr><td align="right">2&nbsp;</td><td><a href="notation.html" class="tocviewlink" data-pltdoc="x">Notation for Documentation</a></td></tr><tr><td align="right">3&nbsp;</td><td><a href="syntax.html" class="tocviewselflink" data-pltdoc="x">Syntactic Forms</a></td></tr><tr><td align="right">4&nbsp;</td><td><a href="data.html" class="tocviewlink" data-pltdoc="x">Datatypes</a></td></tr><tr><td align="right">5&nbsp;</td><td><a href="structures.html" class="tocviewlink" data-pltdoc="x">Structures</a></td></tr><tr><td align="right">6&nbsp;</td><td><a href="mzlib_class.html" class="tocviewlink" data-pltdoc="x">Classes and Objects</a></td></tr><tr><td align="right">7&nbsp;</td><td><a href="mzlib_unit.html" class="tocviewlink" data-pltdoc="x">Units</a></td></tr><tr><td align="right">8&nbsp;</td><td><a href="contracts.html" class="tocviewlink" data-pltdoc="x">Contracts</a></td></tr><tr><td align="right">9&nbsp;</td><td><a href="match.html" class="tocviewlink" data-pltdoc="x">Pattern Matching</a></td></tr><tr><td align="right">10&nbsp;</td><td><a href="control.html" class="tocviewlink" data-pltdoc="x">Control Flow</a></td></tr><tr><td align="right">11&nbsp;</td><td><a href="concurrency.html" class="tocviewlink" data-pltdoc="x">Concurrency and Parallelism</a></td></tr><tr><td align="right">12&nbsp;</td><td><a href="Macros.html" class="tocviewlink" data-pltdoc="x">Macros</a></td></tr><tr><td align="right">13&nbsp;</td><td><a href="input-and-output.html" class="tocviewlink" data-pltdoc="x">Input and Output</a></td></tr><tr><td align="right">14&nbsp;</td><td><a href="security.html" class="tocviewlink" data-pltdoc="x">Reflection and Security</a></td></tr><tr><td align="right">15&nbsp;</td><td><a href="os.html" class="tocviewlink" data-pltdoc="x">Operating System</a></td></tr><tr><td align="right">16&nbsp;</td><td><a href="memory.html" class="tocviewlink" data-pltdoc="x">Memory Management</a></td></tr><tr><td align="right">17&nbsp;</td><td><a href="unsafe.html" class="tocviewlink" data-pltdoc="x">Unsafe Operations</a></td></tr><tr><td align="right">18&nbsp;</td><td><a href="running.html" class="tocviewlink" data-pltdoc="x">Running Racket</a></td></tr><tr><td align="right"></td><td><a href="doc-bibliography.html" class="tocviewlink" data-pltdoc="x">Bibliography</a></td></tr><tr><td align="right"></td><td><a href="doc-index.html" class="tocviewlink" data-pltdoc="x">Index</a></td></tr></table></div></div><div class="tocviewlist"><table cellspacing="0" cellpadding="0"><tr><td style="width: 1em;"><a href="javascript:void(0);" title="Expand/Collapse" class="tocviewtoggle" onclick="TocviewToggle(this,&quot;tocview_1&quot;);">&#9660;</a></td><td>3&nbsp;</td><td><a href="syntax.html" class="tocviewlink" data-pltdoc="x">Syntactic Forms</a></td></tr></table><div class="tocviewsublistbottom" style="display: block;" id="tocview_1"><table cellspacing="0" cellpadding="0"><tr><td align="right">3.1&nbsp;</td><td><a href="module.html" class="tocviewlink" data-pltdoc="x">Modules:<span class="mywbr"> &nbsp;</span> <span class="RktSym"><span class="RktStxLink">module</span></span>, <span class="RktSym"><span class="RktStxLink">module*</span></span>, ...</a></td></tr><tr><td align="right">3.2&nbsp;</td><td><a href="require.html" class="tocviewlink" data-pltdoc="x">Importing and Exporting:<span class="mywbr"> &nbsp;</span> <span class="RktSym"><span class="RktStxLink">require</span></span> and <span class="RktSym"><span class="RktStxLink">provide</span></span></a></td></tr><tr><td align="right">3.3&nbsp;</td><td><a href="quote.html" class="tocviewlink" data-pltdoc="x">Literals:<span class="mywbr"> &nbsp;</span> <span class="RktSym"><span class="RktStxLink">quote</span></span> and <span class="RktSym"><span class="RktStxLink">#%datum</span></span></a></td></tr><tr><td align="right">3.4&nbsp;</td><td><a href="__expression.html" class="tocviewlink" data-pltdoc="x">Expression Wrapper:<span class="mywbr"> &nbsp;</span> <span class="RktSym"><span class="RktStxLink">#%expression</span></span></a></td></tr><tr><td align="right">3.5&nbsp;</td><td><a href="__top.html" class="tocviewlink" data-pltdoc="x">Variable References and <span class="RktSym"><span class="RktStxLink">#%top</span></span></a></td></tr><tr><td align="right">3.6&nbsp;</td><td><a href="Locations____variable-reference.html" class="tocviewlink" data-pltdoc="x">Locations:<span class="mywbr"> &nbsp;</span> <span class="RktSym"><span class="RktStxLink">#%variable-<wbr></wbr>reference</span></span></a></td></tr><tr><td align="right">3.7&nbsp;</td><td><a href="application.html" class="tocviewlink" data-pltdoc="x">Procedure Applications and <span class="RktSym"><span class="RktStxLink">#%app</span></span></a></td></tr><tr><td align="right">3.8&nbsp;</td><td><a href="" class="tocviewselflink" data-pltdoc="x">Procedure Expressions:<span class="mywbr"> &nbsp;</span> <span class="RktSym"><span class="RktStxLink">lambda</span></span> and <span class="RktSym"><span class="RktStxLink">case-<wbr></wbr>lambda</span></span></a></td></tr><tr><td align="right">3.9&nbsp;</td><td><a href="let.html" class="tocviewlink" data-pltdoc="x">Local Binding:<span class="mywbr"> &nbsp;</span> <span class="RktSym"><span class="RktStxLink">let</span></span>, <span class="RktSym"><span class="RktStxLink">let*</span></span>, <span class="RktSym"><span class="RktStxLink">letrec</span></span>, ...</a></td></tr><tr><td align="right">3.10&nbsp;</td><td><a href="local.html" class="tocviewlink" data-pltdoc="x">Local Definitions:<span class="mywbr"> &nbsp;</span> <span class="RktSym"><span class="RktStxLink">local</span></span></a></td></tr><tr><td align="right">3.11&nbsp;</td><td><a href="shared.html" class="tocviewlink" data-pltdoc="x">Constructing Graphs:<span class="mywbr"> &nbsp;</span> <span class="RktSym"><span class="RktStxLink">shared</span></span></a></td></tr><tr><td align="right">3.12&nbsp;</td><td><a href="if.html" class="tocviewlink" data-pltdoc="x">Conditionals:<span class="mywbr"> &nbsp;</span> <span class="RktSym"><span class="RktStxLink">if</span></span>, <span class="RktSym"><span class="RktStxLink">cond</span></span>, <span class="RktSym"><span class="RktStxLink">and</span></span>, and <span class="RktSym"><span class="RktStxLink">or</span></span></a></td></tr><tr><td align="right">3.13&nbsp;</td><td><a href="case.html" class="tocviewlink" data-pltdoc="x">Dispatch:<span class="mywbr"> &nbsp;</span> <span class="RktSym"><span class="RktStxLink">case</span></span></a></td></tr><tr><td align="right">3.14&nbsp;</td><td><a href="define.html" class="tocviewlink" data-pltdoc="x">Definitions:<span class="mywbr"> &nbsp;</span> <span class="RktSym"><span class="RktStxLink">define</span></span>, <span class="RktSym"><span class="RktStxLink">define-<wbr></wbr>syntax</span></span>, ...</a></td></tr><tr><td align="right">3.15&nbsp;</td><td><a href="begin.html" class="tocviewlink" data-pltdoc="x">Sequencing:<span class="mywbr"> &nbsp;</span> <span class="RktSym"><span class="RktStxLink">begin</span></span>, <span class="RktSym"><span class="RktStxLink">begin0</span></span>, and <span class="RktSym"><span class="RktStxLink">begin-<wbr></wbr>for-<wbr></wbr>syntax</span></span></a></td></tr><tr><td align="right">3.16&nbsp;</td><td><a href="when_unless.html" class="tocviewlink" data-pltdoc="x">Guarded Evaluation:<span class="mywbr"> &nbsp;</span> <span class="RktSym"><span class="RktStxLink">when</span></span> and <span class="RktSym"><span class="RktStxLink">unless</span></span></a></td></tr><tr><td align="right">3.17&nbsp;</td><td><a href="set_.html" class="tocviewlink" data-pltdoc="x">Assignment:<span class="mywbr"> &nbsp;</span> <span class="RktSym"><span class="RktStxLink">set!</span></span> and <span class="RktSym"><span class="RktStxLink">set!-<wbr></wbr>values</span></span></a></td></tr><tr><td align="right">3.18&nbsp;</td><td><a href="for.html" class="tocviewlink" data-pltdoc="x">Iterations and Comprehensions:<span class="mywbr"> &nbsp;</span> <span class="RktSym"><span class="RktStxLink">for</span></span>, <span class="RktSym"><span class="RktStxLink">for/<span class="mywbr"> &nbsp;</span>list</span></span>, ...</a></td></tr><tr><td align="right">3.19&nbsp;</td><td><a href="wcm.html" class="tocviewlink" data-pltdoc="x">Continuation Marks:<span class="mywbr"> &nbsp;</span> <span class="RktSym"><span class="RktStxLink">with-<wbr></wbr>continuation-<wbr></wbr>mark</span></span></a></td></tr><tr><td align="right">3.20&nbsp;</td><td><a href="quasiquote.html" class="tocviewlink" data-pltdoc="x">Quasiquoting:<span class="mywbr"> &nbsp;</span> <span class="RktSym"><span class="RktStxLink">quasiquote</span></span>, <span class="RktSym"><span class="RktStxLink">unquote</span></span>, and <span class="RktSym"><span class="RktStxLink">unquote-<wbr></wbr>splicing</span></span></a></td></tr><tr><td align="right">3.21&nbsp;</td><td><a href="Syntax_Quoting__quote-syntax.html" class="tocviewlink" data-pltdoc="x">Syntax Quoting:<span class="mywbr"> &nbsp;</span> <span class="RktSym"><span class="RktStxLink">quote-<wbr></wbr>syntax</span></span></a></td></tr><tr><td align="right">3.22&nbsp;</td><td><a href="__top-interaction.html" class="tocviewlink" data-pltdoc="x">Interaction Wrapper:<span class="mywbr"> &nbsp;</span> <span class="RktSym"><span class="RktStxLink">#%top-<wbr></wbr>interaction</span></span></a></td></tr><tr><td align="right">3.23&nbsp;</td><td><a href="block.html" class="tocviewlink" data-pltdoc="x">Blocks:<span class="mywbr"> &nbsp;</span> <span class="RktSym"><span class="RktStxLink">block</span></span></a></td></tr><tr><td align="right">3.24&nbsp;</td><td><a href="stratified-body.html" class="tocviewlink" data-pltdoc="x">Internal-<wbr></wbr>Definition Limiting:<span class="mywbr"> &nbsp;</span> <span class="RktSym"><span class="RktStxLink">#%stratified-<wbr></wbr>body</span></span></a></td></tr><tr><td align="right">3.25&nbsp;</td><td><a href="performance-hint.html" class="tocviewlink" data-pltdoc="x">Performance Hints:<span class="mywbr"> &nbsp;</span> <span class="RktSym"><span class="RktStxLink">begin-<wbr></wbr>encourage-<wbr></wbr>inline</span></span></a></td></tr><tr><td align="right">3.26&nbsp;</td><td><a href="lazy-require.html" class="tocviewlink" data-pltdoc="x">Importing Modules Lazily:<span class="mywbr"> &nbsp;</span> <span class="RktSym"><span class="RktStxLink">lazy-<wbr></wbr>require</span></span></a></td></tr></table></div></div></div><div class="tocsub"><div class="tocsubtitle">On this page:</div><table class="tocsublist" cellspacing="0"><tr><td><a href="#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._lambda%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktStxLink">lambda</span></span></a></td></tr><tr><td><a href="#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._~ce~bb%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktStxLink">&#955;</span></span></a></td></tr><tr><td><a href="#%28form._%28%28quote._~23~25kernel%29._case-lambda%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktStxLink">case-<wbr></wbr>lambda</span></span></a></td></tr><tr><td><a href="#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._~23~25plain-lambda%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktStxLink">#%plain-<wbr></wbr>lambda</span></span></a></td></tr></table></div></div><div class="maincolumn"><div class="main"><div class="navsettop"><span class="navleft"><form class="searchform"><input class="searchbox" style="color: #888;" type="text" value="...search manuals..." title="Enter a search string to search the manuals" onkeypress="return DoSearchKey(event, this, &quot;6.7&quot;, &quot;../&quot;);" onfocus="this.style.color=&quot;black&quot;; this.style.textAlign=&quot;left&quot;; if (this.value == &quot;...search manuals...&quot;) this.value=&quot;&quot;;" onblur="if (this.value.match(/^ *$/)) { this.style.color=&quot;#888&quot;; this.style.textAlign=&quot;center&quot;; this.value=&quot;...search manuals...&quot;; }"/></form>&nbsp;&nbsp;<a href="../index.html" title="up to the documentation top" data-pltdoc="x" onclick="return GotoPLTRoot(&quot;6.7&quot;);">top</a></span><span class="navright">&nbsp;&nbsp;<a href="application.html" title="backward to &quot;3.7 Procedure Applications and #%app&quot;" data-pltdoc="x">&larr; prev</a>&nbsp;&nbsp;<a href="syntax.html" title="up to &quot;3 Syntactic Forms&quot;" data-pltdoc="x">up</a>&nbsp;&nbsp;<a href="let.html" title="forward to &quot;3.9 Local Binding: let, let*, letrec, ...&quot;" data-pltdoc="x">next &rarr;</a></span>&nbsp;</div><h4 x-source-module="(lib &quot;scribblings/reference/reference.scrbl&quot;)" x-source-pkg="racket-doc" x-part-tag="&quot;lambda&quot;">3.8<tt>&nbsp;</tt><a name="(part._lambda)"></a>Procedure Expressions: <span class="RktSym"><a href="#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._lambda%29%29" class="RktStxLink" data-pltdoc="x">lambda</a></span> and <span class="RktSym"><a href="#%28form._%28%28quote._~23~25kernel%29._case-lambda%29%29" class="RktStxLink" data-pltdoc="x">case-lambda</a></span></h4><blockquote class="refpara"><blockquote class="refcolumn"><blockquote class="refcontent"><p><span class="imageleft"><img src="finger.png" alt="+" width="24" height="24"/></span><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=guide&amp;rel=lambda.html&amp;version=6.7" class="Sq" data-pltdoc="x">Functions: <span class="RktSym"><span class="RktStxLink">lambda</span></span></a> in <a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=guide&amp;rel=index.html&amp;version=6.7" class="Sq" data-pltdoc="x"><span style="font-weight: bold">The Racket Guide</span></a> introduces procedure expressions.</p></blockquote></blockquote></blockquote><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>syntax</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(form._((lib._racket/private/base..rkt)._lambda))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._lambda%29%29" class="RktStxDef RktStxLink" data-pltdoc="x">lambda</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">kw-formals</span><span class="hspace">&nbsp;</span><span class="RktVar">body</span><span class="hspace">&nbsp;</span><span class="RktMeta"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=syntax&amp;rel=stxparse-patterns.html%23%2528form._%2528%2528lib._syntax%252Fparse..rkt%2529._......%252B%2529%2529&amp;version=6.7" class="RktStxLink Sq" data-pltdoc="x">...+</a></span><span class="RktPn">)</span></p></blockquote></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>syntax</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(form._((lib._racket/private/base..rkt)._~ce~bb))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._~ce~bb%29%29" class="RktStxDef RktStxLink" data-pltdoc="x">&#955;</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">kw-formals</span><span class="hspace">&nbsp;</span><span class="RktVar">body</span><span class="hspace">&nbsp;</span><span class="RktMeta"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=syntax&amp;rel=stxparse-patterns.html%23%2528form._%2528%2528lib._syntax%252Fparse..rkt%2529._......%252B%2529%2529&amp;version=6.7" class="RktStxLink Sq" data-pltdoc="x">...+</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="stt">&nbsp;</span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="specgrammar"><tr><td align="right" valign="baseline"><span class="RktVar">kw-formals</span></td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="center" valign="baseline">=</td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="RktPn">(</span><span class="RktVar">arg</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span></td></tr><tr><td align="right" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="center" valign="baseline">|</td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="RktPn">(</span><span class="RktVar">arg</span><span class="hspace">&nbsp;</span><span class="RktMeta"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=syntax&amp;rel=stxparse-patterns.html%23%2528form._%2528%2528lib._syntax%252Fparse..rkt%2529._......%252B%2529%2529&amp;version=6.7" class="RktStxLink Sq" data-pltdoc="x">...+</a></span><span class="hspace">&nbsp;</span><span class="RktPn">. </span><span class="RktVar">rest-id</span><span class="RktPn">)</span></td></tr><tr><td align="right" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="center" valign="baseline">|</td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="RktVar">rest-id</span></td></tr><tr><td align="right" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="center" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td></tr><tr><td align="right" valign="baseline"><span class="RktVar">arg</span></td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="center" valign="baseline">=</td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="RktVar">id</span></td></tr><tr><td align="right" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="center" valign="baseline">|</td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="RktPn">[</span><span class="RktVar">id</span><span class="hspace">&nbsp;</span><span class="RktVar">default-expr</span><span class="RktPn">]</span></td></tr><tr><td align="right" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="center" valign="baseline">|</td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="RktVar">keyword</span><span class="hspace">&nbsp;</span><span class="RktVar">id</span></td></tr><tr><td align="right" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="center" valign="baseline">|</td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="RktVar">keyword</span><span class="hspace">&nbsp;</span><span class="RktPn">[</span><span class="RktVar">id</span><span class="hspace">&nbsp;</span><span class="RktVar">default-expr</span><span class="RktPn">]</span></td></tr></table></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Produces a procedure. The <span class="RktVar">kw-formals</span> determines the number of
arguments and which keyword arguments that the procedure accepts.</div></p><p>Considering only the first <span class="RktVar">arg</span> case, a simple
<span class="RktVar">kw-formals</span> has one of the following three forms:</p><blockquote class="leftindent"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><span class="RktPn">(</span><span class="RktVar">id</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span></td></tr></table></blockquote><p> The procedure accepts as many non-keyword
argument values as the number of <span class="RktVar">id</span>s. Each <span class="RktVar">id</span>
is associated with an argument value by position.</p></blockquote><blockquote class="leftindent"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><span class="RktPn">(</span><span class="RktVar">id</span><span class="hspace">&nbsp;</span><span class="RktMeta"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=syntax&amp;rel=stxparse-patterns.html%23%2528form._%2528%2528lib._syntax%252Fparse..rkt%2529._......%252B%2529%2529&amp;version=6.7" class="RktStxLink Sq" data-pltdoc="x">...+</a></span><span class="hspace">&nbsp;</span><span class="RktPn">. </span><span class="RktVar">rest-id</span><span class="RktPn">)</span></td></tr></table></blockquote><p> The procedure accepts any number of
non-keyword arguments greater or equal to the number of
<span class="RktVar">id</span>s. When the procedure is applied, the <span class="RktVar">id</span>s
are associated with argument values by position, and all
leftover arguments are placed into a list that is associated to
<span class="RktVar">rest-id</span>.</p></blockquote><blockquote class="leftindent"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><span class="RktVar">rest-id</span></td></tr></table></blockquote><p> The procedure accepts any number of non-keyword
arguments. All arguments are placed into a list that is
associated with <span class="RktVar">rest-id</span>.</p></blockquote><p>More generally, an <span class="RktVar">arg</span> can include a keyword and/or default
value. Thus, the first two cases above are more completely specified
as follows:</p><blockquote class="leftindent"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><span class="RktPn">(</span><span class="RktVar">arg</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span></td></tr></table></blockquote><p> Each <span class="RktVar">arg</span> has the following
 four forms:</p><blockquote class="leftindent"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><span class="RktVar">id</span></td></tr></table></blockquote><p>Adds one to both the minimum and maximum
number of non-keyword arguments accepted by the procedure. The
<span class="RktVar">id</span> is associated with an actual argument by
position.</p></blockquote><blockquote class="leftindent"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><span class="RktPn">[</span><span class="RktVar">id</span><span class="hspace">&nbsp;</span><span class="RktVar">default-expr</span><span class="RktPn">]</span></td></tr></table></blockquote><p>Adds one to the maximum number
of non-keyword arguments accepted by the procedure. The
<span class="RktVar">id</span> is associated with an actual argument by position,
and if no such argument is provided, the <span class="RktVar">default-expr</span>
is evaluated to produce a value associated with <span class="RktVar">id</span>.
No <span class="RktVar">arg</span> with a <span class="RktVar">default-expr</span> can appear
before an <span class="RktVar">id</span> without a <span class="RktVar">default-expr</span> and
without a <span class="RktVar">keyword</span>.</p></blockquote><blockquote class="leftindent"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><span class="RktVar">keyword</span><span class="hspace">&nbsp;</span><span class="RktVar">id</span></td></tr></table></blockquote><p>The procedure requires a
keyword-based argument using <span class="RktVar">keyword</span>. The <span class="RktVar">id</span>
is associated with a keyword-based actual argument using
<span class="RktVar">keyword</span>.</p></blockquote><blockquote class="leftindent"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><span class="RktVar">keyword</span><span class="hspace">&nbsp;</span><span class="RktPn">[</span><span class="RktVar">id</span><span class="hspace">&nbsp;</span><span class="RktVar">default-expr</span><span class="RktPn">]</span></td></tr></table></blockquote><p>The
procedure accepts a keyword-based argument using <span class="RktVar">keyword</span>. The
<span class="RktVar">id</span> is associated with a keyword-based actual argument
using <span class="RktVar">keyword</span>, if supplied in an application;
otherwise, the <span class="RktVar">default-expr</span> is evaluated to obtain a
value to associate with <span class="RktVar">id</span>.</p></blockquote><p>The position of a <span class="RktVar">keyword</span> <span class="RktVar">arg</span> in
<span class="RktVar">kw-formals</span> does not matter, but each specified
<span class="RktVar">keyword</span> must be distinct.</p></blockquote><blockquote class="leftindent"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><span class="RktPn">(</span><span class="RktVar">arg</span><span class="hspace">&nbsp;</span><span class="RktMeta"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=syntax&amp;rel=stxparse-patterns.html%23%2528form._%2528%2528lib._syntax%252Fparse..rkt%2529._......%252B%2529%2529&amp;version=6.7" class="RktStxLink Sq" data-pltdoc="x">...+</a></span><span class="hspace">&nbsp;</span><span class="RktPn">. </span><span class="RktVar">rest-id</span><span class="RktPn">)</span></td></tr></table></blockquote><p> Like the previous case, but
the procedure accepts any number of non-keyword arguments
beyond its minimum number of arguments. When more arguments are
provided than non-<span class="RktVar">keyword</span> arguments among the
<span class="RktVar">arg</span>s, the extra arguments are placed into a
list that is associated to <span class="RktVar">rest-id</span>.</p></blockquote><p><div class="SIntrapara">The <span class="RktVar">kw-formals</span> identifiers are bound in the
<span class="RktVar">body</span>s. When the procedure is applied, a new <a href="eval-model.html#%28tech._location%29" class="techoutside" data-pltdoc="x"><span class="techinside">location</span></a>
is created for each identifier, and the location is filled with the
associated argument value. The <a href="eval-model.html#%28tech._location%29" class="techoutside" data-pltdoc="x"><span class="techinside">locations</span></a> are created and filled
in order, with <span class="RktVar">default-expr</span>s evaluated as needed to fill
locations. </div><div class="SIntrapara"><blockquote class="refpara"><blockquote class="refcolumn"><blockquote class="refcontent"><p>In other words, argument bindings with
default-value expressions are evaluated analogous to <span class="RktSym"><a href="let.html#%28form._%28%28lib._racket%2Fprivate%2Fletstx-scheme..rkt%29._let%2A%29%29" class="RktStxLink" data-pltdoc="x">let*</a></span>.</p></blockquote></blockquote></blockquote></div></p><p>If any identifier appears in the <span class="RktVar">body</span>s that is not one of the
identifiers in <span class="RktVar">kw-formals</span>, then it refers to the same
location that it would if it appeared in place of the <span class="RktSym"><a href="#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._lambda%29%29" class="RktStxLink" data-pltdoc="x">lambda</a></span>
expression. (In other words, variable reference is lexically scoped.)</p><p>When multiple identifiers appear in a <span class="RktVar">kw-formals</span>, they must
be distinct according to <span class="RktSym"><a href="stxcmp.html#%28def._%28%28quote._~23~25kernel%29._bound-identifier~3d~3f%29%29" class="RktValLink" data-pltdoc="x">bound-identifier=?</a></span>.</p><p>If the procedure produced by <span class="RktSym"><a href="#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._lambda%29%29" class="RktStxLink" data-pltdoc="x">lambda</a></span> is applied to fewer or
more by-position or by-keyword arguments than it accepts, to by-keyword arguments
that it does not accept, or without required by-keyword arguments, then
the <span class="RktSym"><a href="exns.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._exn~3afail~3acontract%29%29" class="RktValLink" data-pltdoc="x">exn:fail:contract</a></span> exception is raised.</p><p>The last <span class="RktVar">body</span> expression is in tail position with respect to
the procedure body.</p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._lambda%29%29" class="RktStxLink" data-pltdoc="x">lambda</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym">x</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktSym">x</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">10</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._lambda%29%29" class="RktStxLink" data-pltdoc="x">lambda</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym">x</span><span class="hspace">&nbsp;</span><span class="RktSym">y</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._list%29%29" class="RktValLink" data-pltdoc="x">list</a></span><span class="hspace">&nbsp;</span><span class="RktSym">y</span><span class="hspace">&nbsp;</span><span class="RktSym">x</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktVal">1</span><span class="hspace">&nbsp;</span><span class="RktVal">2</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">'(2 1)</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._lambda%29%29" class="RktStxLink" data-pltdoc="x">lambda</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym">x</span><span class="hspace">&nbsp;</span><span class="RktPn">[</span><span class="RktSym">y</span><span class="hspace">&nbsp;</span><span class="RktVal">5</span><span class="RktPn">]</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._list%29%29" class="RktValLink" data-pltdoc="x">list</a></span><span class="hspace">&nbsp;</span><span class="RktSym">y</span><span class="hspace">&nbsp;</span><span class="RktSym">x</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktVal">1</span><span class="hspace">&nbsp;</span><span class="RktVal">2</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">'(2 1)</span></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="let.html#%28form._%28%28lib._racket%2Fprivate%2Fletstx-scheme..rkt%29._let%29%29" class="RktStxLink" data-pltdoc="x">let</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktPn">[</span><span class="RktSym">f</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._lambda%29%29" class="RktStxLink" data-pltdoc="x">lambda</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym">x</span><span class="hspace">&nbsp;</span><span class="RktPn">#:arg</span><span class="hspace">&nbsp;</span><span class="RktSym">y</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._list%29%29" class="RktValLink" data-pltdoc="x">list</a></span><span class="hspace">&nbsp;</span><span class="RktSym">y</span><span class="hspace">&nbsp;</span><span class="RktSym">x</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">]</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._list%29%29" class="RktValLink" data-pltdoc="x">list</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym">f</span><span class="hspace">&nbsp;</span><span class="RktVal">1</span><span class="hspace">&nbsp;</span><span class="RktPn">#:arg</span><span class="hspace">&nbsp;</span><span class="RktVal">2</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym">f</span><span class="hspace">&nbsp;</span><span class="RktPn">#:arg</span><span class="hspace">&nbsp;</span><span class="RktVal">2</span><span class="hspace">&nbsp;</span><span class="RktVal">1</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><span class="RktRes">'((2 1) (2 1))</span></p></td></tr></table></blockquote></div></p><p>When compiling a <span class="RktSym"><a href="#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._lambda%29%29" class="RktStxLink" data-pltdoc="x">lambda</a></span> or <span class="RktSym"><a href="#%28form._%28%28quote._~23~25kernel%29._case-lambda%29%29" class="RktStxLink" data-pltdoc="x">case-lambda</a></span> expression,
Racket looks for a <a name="(idx._(gentag._88._(lib._scribblings/reference/reference..scrbl)))"></a><span class="RktVal">'</span><span class="RktVal">method-arity-error</span> property
attached to the expression (see <a href="stxprops.html" data-pltdoc="x">Syntax Object Properties</a>). If it is
present with a true value, and if no case of the procedure accepts
zero arguments, then the procedure is marked so that an
<span class="RktSym"><a href="exns.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._exn~3afail~3acontract~3aarity%29%29" class="RktValLink" data-pltdoc="x">exn:fail:contract:arity</a></span> exception involving the procedure
will hide the first argument, if one was provided. (Hiding the first
argument is useful when the procedure implements a method, where the
first argument is implicit in the original source). The property
affects only the format of <span class="RktSym"><a href="exns.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._exn~3afail~3acontract~3aarity%29%29" class="RktValLink" data-pltdoc="x">exn:fail:contract:arity</a></span>
exceptions, not the result of <span class="RktSym"><a href="procedures.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._procedure-arity%29%29" class="RktValLink" data-pltdoc="x">procedure-arity</a></span>.</p><p>When a keyword-accepting procedure is bound to an identifier in
certain ways, and when the identifier is used in the function position
of an application form, then the application form may be expanded in
such a way that the original binding is obscured as the target of the
application. To help expose the connection between the function
application and function declaration, an identifier in the expansion
of the function application is tagged with a <a href="stxprops.html#%28tech._syntax._property%29" class="techoutside" data-pltdoc="x"><span class="techinside">syntax property</span></a>
accessible via <span class="RktSym"><a href="stxtrans.html#%28def._%28%28lib._racket%2Fkeyword-transform..rkt%29._syntax-procedure-alias-property%29%29" class="RktValLink" data-pltdoc="x">syntax-procedure-alias-property</a></span> if it is effectively an alias
for the original identifier. An identifier in the expansion is tagged with a
<a href="stxprops.html#%28tech._syntax._property%29" class="techoutside" data-pltdoc="x"><span class="techinside">syntax property</span></a> accessible via <span class="RktSym"><a href="stxtrans.html#%28def._%28%28lib._racket%2Fkeyword-transform..rkt%29._syntax-procedure-converted-arguments-property%29%29" class="RktValLink" data-pltdoc="x">syntax-procedure-converted-arguments-property</a></span> if it
is like the original identifier except that the arguments are converted to a
flattened form: keyword arguments, required by-position arguments,
by-position optional arguments, and rest arguments&#8212;<wbr></wbr>all as required,
by-position arguments; the keyword arguments are sorted by keyword
name, each optional keyword argument is followed by a boolean to
indicate whether a value is provided, and <span class="RktVal">#f</span> is used for an
optional keyword argument whose value is not provided; optional
by-position arguments include <span class="RktVal">#f</span> for each non-provided
argument, and then the sequence of optional-argument values is
followed by a parallel sequence of booleans to indicate whether each
optional-argument value was provided.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>syntax</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(form._((quote._~23~25kernel)._case-lambda))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28form._%28%28quote._~23~25kernel%29._case-lambda%29%29" class="RktStxDef RktStxLink" data-pltdoc="x">case-lambda</a></span></span><span class="hspace">&nbsp;</span><span class="RktPn">[</span><span class="RktVar">formals</span><span class="hspace">&nbsp;</span><span class="RktVar">body</span><span class="hspace">&nbsp;</span><span class="RktMeta"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=syntax&amp;rel=stxparse-patterns.html%23%2528form._%2528%2528lib._syntax%252Fparse..rkt%2529._......%252B%2529%2529&amp;version=6.7" class="RktStxLink Sq" data-pltdoc="x">...+</a></span><span class="RktPn">]</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="stt">&nbsp;</span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="specgrammar"><tr><td align="right" valign="baseline"><span class="RktVar">formals</span></td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="center" valign="baseline">=</td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="RktPn">(</span><span class="RktVar">id</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span></td></tr><tr><td align="right" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="center" valign="baseline">|</td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="RktPn">(</span><span class="RktVar">id</span><span class="hspace">&nbsp;</span><span class="RktMeta"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=syntax&amp;rel=stxparse-patterns.html%23%2528form._%2528%2528lib._syntax%252Fparse..rkt%2529._......%252B%2529%2529&amp;version=6.7" class="RktStxLink Sq" data-pltdoc="x">...+</a></span><span class="hspace">&nbsp;</span><span class="RktPn">. </span><span class="RktVar">rest-id</span><span class="RktPn">)</span></td></tr><tr><td align="right" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="center" valign="baseline">|</td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="RktVar">rest-id</span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Produces a procedure. Each <span class="RktPn">[</span><span class="RktVar">formals</span><span class="stt"> </span><span class="RktVar">body</span><span class="stt"> </span><span class="RktMeta"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=syntax&amp;rel=stxparse-patterns.html%23%2528form._%2528%2528lib._syntax%252Fparse..rkt%2529._......%252B%2529%2529&amp;version=6.7" class="RktStxLink Sq" data-pltdoc="x">...+</a></span><span class="RktPn">]</span>
clause is analogous to a single <span class="RktSym"><a href="#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._lambda%29%29" class="RktStxLink" data-pltdoc="x">lambda</a></span> procedure; applying
the <span class="RktSym"><a href="#%28form._%28%28quote._~23~25kernel%29._case-lambda%29%29" class="RktStxLink" data-pltdoc="x">case-lambda</a></span>-generated procedure is the same as applying a
procedure that corresponds to one of the clauses&#8212;<wbr></wbr>the first procedure
that accepts the given number of arguments. If no corresponding
procedure accepts the given number of arguments, the
<span class="RktSym"><a href="exns.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._exn~3afail~3acontract%29%29" class="RktValLink" data-pltdoc="x">exn:fail:contract</a></span> exception is raised.</div></p><p>Note that a <span class="RktSym"><a href="#%28form._%28%28quote._~23~25kernel%29._case-lambda%29%29" class="RktStxLink" data-pltdoc="x">case-lambda</a></span> clause supports only
<span class="RktVar">formals</span>, not the more general <span class="RktVar">kw-formals</span> of
<span class="RktSym"><a href="#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._lambda%29%29" class="RktStxLink" data-pltdoc="x">lambda</a></span>. That is, <span class="RktSym"><a href="#%28form._%28%28quote._~23~25kernel%29._case-lambda%29%29" class="RktStxLink" data-pltdoc="x">case-lambda</a></span> does not directly
support keyword and optional arguments.</p><p><div class="SIntrapara">Example:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="let.html#%28form._%28%28lib._racket%2Fprivate%2Fletstx-scheme..rkt%29._let%29%29" class="RktStxLink" data-pltdoc="x">let</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktPn">[</span><span class="RktSym">f</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="#%28form._%28%28quote._~23~25kernel%29._case-lambda%29%29" class="RktStxLink" data-pltdoc="x">case-lambda</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">[</span><span class="RktPn">(</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="RktPn">]</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">[</span><span class="RktPn">(</span><span class="RktSym">x</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktSym">x</span><span class="RktPn">]</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">[</span><span class="RktPn">(</span><span class="RktSym">x</span><span class="hspace">&nbsp;</span><span class="RktSym">y</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._list%29%29" class="RktValLink" data-pltdoc="x">list</a></span><span class="hspace">&nbsp;</span><span class="RktSym">y</span><span class="hspace">&nbsp;</span><span class="RktSym">x</span><span class="RktPn">)</span><span class="RktPn">]</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">[</span><span class="RktSym">r</span><span class="hspace">&nbsp;</span><span class="RktSym">r</span><span class="RktPn">]</span><span class="RktPn">)</span><span class="RktPn">]</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._list%29%29" class="RktValLink" data-pltdoc="x">list</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym">f</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym">f</span><span class="hspace">&nbsp;</span><span class="RktVal">1</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym">f</span><span class="hspace">&nbsp;</span><span class="RktVal">1</span><span class="hspace">&nbsp;</span><span class="RktVal">2</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym">f</span><span class="hspace">&nbsp;</span><span class="RktVal">1</span><span class="hspace">&nbsp;</span><span class="RktVal">2</span><span class="hspace">&nbsp;</span><span class="RktVal">3</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><span class="RktRes">'(10 1 (2 1) (1 2 3))</span></p></td></tr></table></blockquote></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>syntax</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(form._((lib._racket/private/base..rkt)._~23~25plain-lambda))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._~23~25plain-lambda%29%29" class="RktStxDef RktStxLink" data-pltdoc="x">#%plain-lambda</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">formals</span><span class="hspace">&nbsp;</span><span class="RktVar">body</span><span class="hspace">&nbsp;</span><span class="RktMeta"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=syntax&amp;rel=stxparse-patterns.html%23%2528form._%2528%2528lib._syntax%252Fparse..rkt%2529._......%252B%2529%2529&amp;version=6.7" class="RktStxLink Sq" data-pltdoc="x">...+</a></span><span class="RktPn">)</span></p></blockquote></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._lambda%29%29" class="RktStxLink" data-pltdoc="x">lambda</a></span>, but without support for keyword or optional arguments.</div></p><div class="navsetbottom"><span class="navleft"><form class="searchform"><input class="searchbox" style="color: #888;" type="text" value="...search manuals..." title="Enter a search string to search the manuals" onkeypress="return DoSearchKey(event, this, &quot;6.7&quot;, &quot;../&quot;);" onfocus="this.style.color=&quot;black&quot;; this.style.textAlign=&quot;left&quot;; if (this.value == &quot;...search manuals...&quot;) this.value=&quot;&quot;;" onblur="if (this.value.match(/^ *$/)) { this.style.color=&quot;#888&quot;; this.style.textAlign=&quot;center&quot;; this.value=&quot;...search manuals...&quot;; }"/></form>&nbsp;&nbsp;<a href="../index.html" title="up to the documentation top" data-pltdoc="x" onclick="return GotoPLTRoot(&quot;6.7&quot;);">top</a></span><span class="navright">&nbsp;&nbsp;<a href="application.html" title="backward to &quot;3.7 Procedure Applications and #%app&quot;" data-pltdoc="x">&larr; prev</a>&nbsp;&nbsp;<a href="syntax.html" title="up to &quot;3 Syntactic Forms&quot;" data-pltdoc="x">up</a>&nbsp;&nbsp;<a href="let.html" title="forward to &quot;3.9 Local Binding: let, let*, letrec, ...&quot;" data-pltdoc="x">next &rarr;</a></span>&nbsp;</div></div></div><div id="contextindicator">&nbsp;</div></body></html>