apply
construct a function expression
Calling Sequence
Parameters
Description
Examples
apply(p, rest)
p
-
expression (e.g., a procedure or name) to be applied
rest
(optional) expression sequence of arguments to be passed to p
The apply(p, rest) calling sequence returns the expression p⁡rest.
Using unapply, the apply procedure satisfies the functional equation apply(unapply(p, v), op(v)) = p.
If p has special evaluation rules, then these rules are not respected.
apply⁡g
g⁡
apply⁡f,s
f⁡s
apply⁡f,s,t,u,v
f⁡s,t,u,v
apply⁡sin,π
0
map⁡apply,sin,cos,tan,π
0,−1,0
apply⁡sin,cos,tan,π
apply⁡unapply⁡x2,exp⁡x,x,x,2
4,ⅇ2,2
apply⁡unapply⁡x2+y2,x,y,a,b
a2+b2
map(proc(n) description "an anonymous and recursive procedure"; (x -> apply(x, x))(f -> proc(p, c) if c > n then p else (f(f))(p * c, 1 + c) end if end proc)(1, 1) end proc, [$ 1 .. 10]);
1,2,6,24,120,720,5040,40320,362880,3628800
An example of special evaluation rules. The command Typesetting[Typeset] is an internal command that receives a Maple expression, and returns an expression used by the GUI for typesetting purposes. The output usually looks just like the input, but it is a very different expression:
TypesettingTypeset⁡sqrt⁡x
x
lprint⁡TypesettingTypeset⁡sqrt⁡x
Typesetting:-msqrt(Typesetting:-mi("x"))
The first argument to Typeset has type uneval, signifying that it is not evaluated before being passed to Typesetting[Typeset]. In the previous example, that means we can assign something to x (say, 5), but still get a typeset square root of x rather than of 5.
x≔5
If we want x to evaluate to 5 before typesetting occurs, we can use the apply command.
apply⁡TypesettingTypeset,sqrt⁡x
5
See Also
curry
eval
evalapply
function
type/appliable
type/function
unapply
Download Help Document