Run **Asir**, then the copyright notice and the first prompt
will appear on your screen,
and a new **Asir** session will be started.

[0]

When initialization file ``$HOME/.asirrc'` exists,
**Asir** interpreter executes it at first taking it as a program
file written in **Asir**.

The prompt indicates the sequential number of your input commands to
**Asir**.
The session will terminate when you input `end;`

or `quit;`

to **Asir**.
Input commands are evaluated statement by statement.
A statement normally ends with its terminator
``;'` or ``$'`.
(There are some exceptions. See, syntax of **Asir**.)
The result will be displayed when the command, i.e. statement,
is terminated by a ``;'`,
and will not when terminated by a ``$'`.

% asir [0] A; 0 [1] A=(x+y)^5; x^5+5*y*x^4+10*y^2*x^3+10*y^3*x^2+5*y^4*x+y^5 [2] A; x^5+5*y*x^4+10*y^2*x^3+10*y^3*x^2+5*y^4*x+y^5 [3] a=(x+y)^5; evalpv : invalid assignment return to toplevel [3] a; a [4] fctr(A); [[1,1],[x+y,5]] [5] quit; %

In the above example, names `A`

, `a`

, `x`

and `y`

are used to identify mathematical and programming objects.
There, the name `A`

denotes a program variable
(some times called simply as a program variable.)
while the other names, `a`

, `x`

and `y`

, denote
mathematical objects, that is, indeterminates.
In general, program variables have names which begin with
capital letters, while names of indeterminates begin with
small letters.
As you can see in the example, program variables are used to hold and
keep objects, such as numbers and expressions, as their values,
just like variables in C programming language.
Whereas, indeterminates cannot have values so that assignment to
indeterminates are illegal.
If one wants to get a result by substituting a value for an indeterminate
in an expression, it is achieved by the function `subst`

as the
value of the function.

Go to the first, previous, next, last section, table of contents.