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 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Maxima 5.47.0 Manual: Identifiers</title>
<meta name="description" content="Maxima 5.47.0 Manual: Identifiers">
<meta name="keywords" content="Maxima 5.47.0 Manual: Identifiers">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="maxima_toc.html#Top" rel="start" title="Top">
<link href="maxima_423.html#Function-and-Variable-Index" rel="index" title="Function and Variable Index">
<link href="maxima_toc.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="maxima_28.html#Expressions" rel="up" title="Expressions">
<link href="maxima_32.html#Inequality" rel="next" title="Inequality">
<link href="maxima_30.html#Nouns-and-Verbs" rel="previous" title="Nouns and Verbs">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
body {color: black; background: white; margin-left: 8%; margin-right: 13%;
font-family: "FreeSans", sans-serif}
h1 {font-size: 150%; font-family: "FreeSans", sans-serif}
h2 {font-size: 125%; font-family: "FreeSans", sans-serif}
h3 {font-size: 100%; font-family: "FreeSans", sans-serif}
a[href] {color: rgb(0,0,255); text-decoration: none;}
a[href]:hover {background: rgb(220,220,220);}
div.textbox {border: solid; border-width: thin; padding-top: 1em;
padding-bottom: 1em; padding-left: 2em; padding-right: 2em}
div.titlebox {border: none; padding-top: 1em; padding-bottom: 1em;
padding-left: 2em; padding-right: 2em; background: rgb(200,255,255);
font-family: sans-serif}
div.synopsisbox {
border: none; padding-top: 1em; padding-bottom: 1em; padding-left: 2em;
padding-right: 2em; background: rgb(255,220,255);}
pre.example {border: 1px solid rgb(180,180,180); padding-top: 1em;
padding-bottom: 1em; padding-left: 1em; padding-right: 1em;
background-color: rgb(238,238,255)}
div.spacerbox {border: none; padding-top: 2em; padding-bottom: 2em}
div.image {margin: 0; padding: 1em; text-align: center}
div.categorybox {border: 1px solid gray; padding-top: 1em; padding-bottom: 1em;
padding-left: 1em; padding-right: 1em; background: rgb(247,242,220)}
img {max-width:80%; max-height: 80%; display: block; margin-left: auto; margin-right: auto}
-->
</style>
<link rel="icon" href="figures/favicon.ico">
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6>"></script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
</head>
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Identifiers"></a>
<div class="header">
<p>
Next: <a href="maxima_32.html#Inequality" accesskey="n" rel="next">Inequality</a>, Previous: <a href="maxima_30.html#Nouns-and-Verbs" accesskey="p" rel="previous">Nouns and Verbs</a>, Up: <a href="maxima_28.html#Expressions" accesskey="u" rel="up">Expressions</a> [<a href="maxima_toc.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="maxima_423.html#Function-and-Variable-Index" title="Index" rel="index">Index</a>]</p>
</div>
<a name="Identifiers-1"></a>
<h3 class="section">6.3 Identifiers</h3>
<p>Maxima identifiers may comprise alphabetic characters, plus the numerals 0
through 9, plus any other character preceded by the backslash <code>\</code>
character.
</p>
<p>A numeral may be the first character of an identifier if it is preceded by a
backslash. Numerals which are the second or later characters need not be
preceded by a backslash.
</p>
<p>The alphabetic characters are initially <code>%</code>, <code>_</code>,
and all characters for which the Lisp function
<a href="http://www.lispworks.com/documentation/HyperSpec/Body/f_alpha_.htm"><code>ALPHA-CHAR-P</code></a> returns <code>true</code>.
Characters may be declared alphabetic by the <code>declare</code> function.
If so declared, they need not be preceded by a backslash in an identifier.
</p>
<p>Maxima is case-sensitive. The identifiers <code>foo</code>, <code>FOO</code>, and
<code>Foo</code> are distinct. See <a href="maxima_172.html#Lisp-and-Maxima">Lisp and Maxima</a> for more on this point.
</p>
<p>A Maxima identifier is a Lisp symbol which begins with a dollar sign <code>$</code>.
Any other Lisp symbol is preceded by a question mark <code>?</code> when it appears
in Maxima. See <a href="maxima_172.html#Lisp-and-Maxima">Lisp and Maxima</a> for more on this point.
</p>
<p>Examples:
</p>
<div class="example">
<pre class="example">(%i1) %an_ordinary_identifier42;
(%o1) %an_ordinary_identifier42
</pre><pre class="example">(%i2) embedded\ spaces\ in\ an\ identifier;
(%o2) embedded spaces in an identifier
</pre><pre class="example">(%i3) symbolp (%);
(%o3) true
</pre><pre class="example">(%i4) [foo+bar, foo\+bar];
(%o4) [foo + bar, foo+bar]
</pre><pre class="example">(%i5) [1729, \1729];
(%o5) [1729, 1729]
</pre><pre class="example">(%i6) [symbolp (foo\+bar), symbolp (\1729)];
(%o6) [true, true]
</pre><pre class="example">(%i7) [is (foo\+bar = foo+bar), is (\1729 = 1729)];
(%o7) [false, false]
</pre><pre class="example">(%i8) baz\~quux;
(%o8) baz~quux
</pre><pre class="example">(%i9) declare ("~", alphabetic);
(%o9) done
</pre><pre class="example">(%i10) baz~quux;
(%o10) baz~quux
</pre><pre class="example">(%i11) [is (foo = FOO), is (FOO = Foo), is (Foo = foo)];
(%o11) [false, false, false]
</pre><pre class="example">(%i12) :lisp (defvar *my-lisp-variable* '$foo)
*MY-LISP-VARIABLE*
</pre><pre class="example">(%i12) ?\*my\-lisp\-variable\*;
(%o12) foo
</pre></div>
<div class=categorybox>
Categories:<a href="maxima_424.html#Category_003a-Syntax">Syntax</a>
·</div>
<a name="Item_003a-Expressions_002fnode_002fInequality"></a><hr>
<div class="header">
<p>
Next: <a href="maxima_32.html#Inequality" accesskey="n" rel="next">Inequality</a>, Previous: <a href="maxima_30.html#Nouns-and-Verbs" accesskey="p" rel="previous">Nouns and Verbs</a>, Up: <a href="maxima_28.html#Expressions" accesskey="u" rel="up">Expressions</a> [<a href="maxima_toc.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="maxima_423.html#Function-and-Variable-Index" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>
|