(maxima.info)Identifiers


Next: Inequality Prev: Nouns and Verbs Up: Expressions
Enter node , (file) or (file)node

6.3 Identifiers
===============

Maxima identifiers may comprise alphabetic characters, plus the numerals
0 through 9, plus any special character preceded by the backslash '\'
character.

   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.

   Characters may be declared alphabetic by the 'declare' function.  If
so declared, they need not be preceded by a backslash in an identifier.
The alphabetic characters are initially 'A' through 'Z', 'a' through
'z', '%', and '_'.

   Maxima is case-sensitive.  The identifiers 'foo', 'FOO', and 'Foo'
are distinct.  See Note: Lisp and Maxima for more on this point.

   A Maxima identifier is a Lisp symbol which begins with a dollar sign
'$'.  Any other Lisp symbol is preceded by a question mark '?' when it
appears in Maxima.  See Note: Lisp and Maxima for more on this point.

   Examples:

     (%i1) %an_ordinary_identifier42;
     (%o1)               %an_ordinary_identifier42
     (%i2) embedded\ spaces\ in\ an\ identifier;
     (%o2)           embedded spaces in an identifier
     (%i3) symbolp (%);
     (%o3)                         true
     (%i4) [foo+bar, foo\+bar];
     (%o4)                 [foo + bar, foo+bar]
     (%i5) [1729, \1729];
     (%o5)                     [1729, 1729]
     (%i6) [symbolp (foo\+bar), symbolp (\1729)];
     (%o6)                     [true, true]
     (%i7) [is (foo\+bar = foo+bar), is (\1729 = 1729)];
     (%o7)                    [false, false]
     (%i8) baz\~quux;
     (%o8)                       baz~quux
     (%i9) declare ("~", alphabetic);
     (%o9)                         done
     (%i10) baz~quux;
     (%o10)                      baz~quux
     (%i11) [is (foo = FOO), is (FOO = Foo), is (Foo = foo)];
     (%o11)                [false, false, false]
     (%i12) :lisp (defvar *my-lisp-variable* '$foo)
     *MY-LISP-VARIABLE*
     (%i12) ?\*my\-lisp\-variable\*;
     (%o12)                         foo


automatically generated by info2www version 1.2.2.9