(maxima.info)Nouns and Verbs


Next: Identifiers Prev: Introduction to Expressions Up: Expressions
Enter node , (file) or (file)node

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)


automatically generated by info2www version 1.2.2.9