Next: Identifiers, Previous: Introduction to Expressions, Up: Expressions [Contents][Index]

### 6.2 Nouns and Verbs

Maxima distinguishes between operators which are "nouns" and operators which are "verbs". A verb is an operator which can be executed. A noun is an operator which appears as a symbol in an expression, without being executed. By default, function names are verbs. A verb can be changed into a noun by quoting the function name or applying the `nounify` function. A noun can be changed into a verb by applying the `verbify` function. The evaluation flag `nouns` causes `ev` to evaluate nouns in an expression.

The verb form is distinguished by a leading dollar sign `$` on the corresponding Lisp symbol. In contrast, the noun form is distinguished by a leading percent sign `%` on the corresponding Lisp symbol. Some nouns have special display properties, such as `'integrate` and `'derivative` (returned by `diff`), but most do not. By default, the noun and verb forms of a function are identical when displayed. The global flag `noundisp` causes Maxima to display nouns with a leading quote mark `'`.

See also `noun`, `nouns`, `nounify`, and `verbify`.

Examples:

    (%i1) foo (x) := x^2;
                                         2
    (%o1)                     foo(x) := x

    (%i2) foo (42);
    (%o2)                         1764

    (%i3) 'foo (42);
    (%o3)                        foo(42)

    (%i4) 'foo (42), nouns;
    (%o4)                         1764

    (%i5) declare (bar, noun);
    (%o5)                         done

    (%i6) bar (x) := x/17;
                                        x
    (%o6)                     bar(x) := --
                                        17

    (%i7) bar (52);
    (%o7)                        bar(52)

    (%i8) bar (52), nouns;
    (%o8)                        bar(52)

    (%i9) integrate (1/x, x, 1, 42);
    (%o9)                        log(42)

    (%i10) 'integrate (1/x, x, 1, 42);
                                 42
                                /
                                [   1
    (%o10)                      I   - dx
                                ]   x
                                /
                                 1

    (%i11) ev (%, nouns);
    (%o11)                       log(42)

Categories: Evaluation · Nouns and verbs ·

Next: Identifiers, Previous: Introduction to Expressions, Up: Expressions [Contents][Index]