/usr/share/doc/r5rs-doc/r5rs/Identifiers.html is in r5rs-doc 20010328-7.
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 95 | <html lang="en">
<head>
<title>Identifiers - Revised(5) Scheme</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="Revised(5) Scheme">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Lexical-conventions.html#Lexical-conventions" title="Lexical conventions">
<link rel="prev" href="Lexical-conventions.html#Lexical-conventions" title="Lexical conventions">
<link rel="next" href="Whitespace-and-comments.html#Whitespace-and-comments" title="Whitespace and comments">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
pre.display { font-family:inherit }
pre.format { font-family:inherit }
pre.smalldisplay { font-family:inherit; font-size:smaller }
pre.smallformat { font-family:inherit; font-size:smaller }
pre.smallexample { font-size:smaller }
pre.smalllisp { font-size:smaller }
span.sc { font-variant:small-caps }
span.roman { font-family:serif; font-weight:normal; }
span.sansserif { font-family:sans-serif; font-weight:normal; }
--></style>
</head>
<body>
<div class="node">
<a name="Identifiers"></a>
<p>
Next: <a rel="next" accesskey="n" href="Whitespace-and-comments.html#Whitespace-and-comments">Whitespace and comments</a>,
Previous: <a rel="previous" accesskey="p" href="Lexical-conventions.html#Lexical-conventions">Lexical conventions</a>,
Up: <a rel="up" accesskey="u" href="Lexical-conventions.html#Lexical-conventions">Lexical conventions</a>
<hr>
</div>
<h3 class="section">2.1 Identifiers</h3>
<p><a name="index-g_t_0040w_007bidentifiers_007d-29"></a>
<p>Most identifiers allowed by other programming
<a name="index-g_t_0040w_007bidentifier_007d-30"></a>languages are also acceptable to Scheme. The precise rules for forming
identifiers vary among implementations of Scheme, but in all
implementations a sequence of letters, digits, and “extended alphabetic
characters” that begins with a character that cannot begin a number is
an identifier. In addition, <code>+</code>, <code>-</code>, and <code>...</code> are identifiers.
<a name="index-g_t_0040w_007b_002e_002e_002e_007d-31"></a><a name="index-g_t_0040w_007b_002d_007d-32"></a><a name="index-g_t_0040w_007b_002b_007d-33"></a>Here are some examples of identifiers:
<pre class="example">
lambda q
list->vector soup
+ V17a
<=? a34kTMNs
the-word-recursion-has-many-meanings
</pre>
<p>Extended alphabetic characters may be used within identifiers as if
they were letters. The following are extended alphabetic characters:
<pre class="example">
! $ % & * + - . / : < = > ? @ ^ _ ~
</pre>
<p>See section <a href="Lexical-structure.html#Lexical-structure">Lexical structure</a> for a formal syntax of identifiers.
<p>Identifiers have two uses within Scheme programs:
<ul>
<li>Any identifier may be used as a variable
or as a syntactic keyword
(see sections see <a href="Variables_003b-syntactic-keywords_003b-and-regions.html#Variables_003b-syntactic-keywords_003b-and-regions">Variables; syntactic keywords; and regions</a> and see <a href="Macros.html#Macros">Macros</a>).
<li>When an identifier appears as a literal or within a literal
(see section see <a href="Literal-expressions.html#Literal-expressions">Literal expressions</a>), it is being used to denote a <em>symbol</em>
(see section see <a href="Symbols.html#Symbols">Symbols</a>).
</ul>
<p><a name="index-g_t_0040w_007bsyntactic-keyword_007d-34"></a><a name="index-g_t_0040w_007bvariable_007d-35"></a>
<!-- \label{keywordsection} -->
<!-- The following identifiers are syntactic keywords, and should not be used -->
<!-- as variables: -->
<!-- \begin{scheme} -->
<!-- => do or -->
<!-- and else quasiquote -->
<!-- begin if quote -->
<!-- case lambda set! -->
<!-- cond let unquote -->
<!-- define let* unquote-splicing -->
<!-- delay letrec% -->
<!-- \end{scheme} -->
<!-- Some implementations allow all identifiers, including syntactic -->
<!-- keywords, to be used as variables. This is a compatible extension to -->
<!-- the language, but ambiguities in the language result when the -->
<!-- restriction is relaxed, and the ways in which these ambiguities are -->
<!-- resolved vary between implementations. -->
</body></html>
|