linear propertie problem



> (%i2) declare(y, noun);
> (%i3) O(2*y);
...
> At (%o4) why the `y' comes out? I want to stay inside therefore it is a
> noun not a scalar!

Declaring an identifier to be a noun changes only its behavior as a
function, not as a variable, and has nothing to do with
scalar/non-scalar.

     NOUN - makes the function ai a noun so that it won't be evaluated
automatically.

For example:

  f(x):=x^3-1$

  f(2) => 7

  declare(f,noun)$

  f(2) => f(2)

  ev(f(2), f) => 7
  ev(f(2),nouns) => 7