
func - expressions consiered as functions

Calling sequence:
func(expr [ , ident ... ])

Parameter:
expr    --  expression
ident   --  identifier

Summary:

func(expr, x1,...,xn) re-constructs the expression expr as a function
with the variables x1 ...  xn and returns this as a functional expression or
a pure function (see fun). func permits an easier defining of pure functions
as fun.

Firstly, func tries to re-construct the expression expr as a functional expression.
If this is not possible then a pure function is created from expr. With this all
identifiers x1 ... xn in expr are substituted by arguments of pure functions.

If no variables are given then they are determined with the function indets.
In this case the order of the variables is random. func does not evaluate its
arguments.

>>  func(sin(x), x);

      sin

>>  func(x + 1);

      id + 1

>>  F:= func(f(x, y), x, y); F(2,a);

      f

      f(2, a)

>>  G:= func(f(x, y), x); G(2);

      func(f(x, y), x)

      f(2, y)

See also:  fun, indets

