Maple Professional
Maple Academic
Maple Student Edition
Maple Personal Edition
Maple Player
Maple Player for iPad
MapleSim Professional
MapleSim Academic
Maple T.A. - Testing & Assessment
Maple T.A. MAA Placement Test Suite
Möbius - Online Courseware
Machine Design / Industrial Automation
Aerospace
Vehicle Engineering
Robotics
Power Industries
System Simulation and Analysis
Model development for HIL
Plant Modeling for Control Design
Robotics/Motion Control/Mechatronics
Other Application Areas
Mathematics Education
Engineering Education
High Schools & Two-Year Colleges
Testing & Assessment
Students
Financial Modeling
Operations Research
High Performance Computing
Physics
Live Webinars
Recorded Webinars
Upcoming Events
MaplePrimes
Maplesoft Blog
Maplesoft Membership
Maple Ambassador Program
MapleCloud
Technical Whitepapers
E-Mail Newsletters
Maple Books
Math Matters
Application Center
MapleSim Model Gallery
User Case Studies
Exploring Engineering Fundamentals
Teaching Concepts with Maple
Maplesoft Welcome Center
Teacher Resource Center
Student Help Center
Functions
Calling Sequence
expr(expseq)
Description
This help page describes the Maple function expression. A "function" expression represents a function call, or application of a function or procedure to arguments. For a list of mathematical functions defined in Maple, see initial functions. A mathematical function can be defined in Maple using a functional operator. Use these to define a function of a single variable, a multivariate function, or a vector function.
In Maple, a "function" expression represents a function call, or application of a function or procedure to arguments. Such an expression is said to be of type function. A "typical" example of an expression of type function is the expression , which represents the application of the expression to the argument sequence . Note that, in this expression, we refer to the entire expression as being of type function (that is, a "function call" or "function application"), while the expression is typically not itself of type function (but often is of type procedure).
The operands of a function expression are the "arguments". For example, the operands of the expression are , and . The expression may be extracted from this expression as the zero-th operand. See the examples section below for more about this.
In an expression of type function, the applied expression is often a Maple procedure, or a name that evaluates to a procedure. In this case, evaluating the expression causes the procedure (or to which evaluates) to be applied to the arguments (see Argument Processing), and the result of evaluating the expression is the value returned by the procedure. However, the expression need not be a procedure, or even evaluate to one.
Apart from procedure applications, one of the most useful applications of function expressions is the ability to use them to define abstract data types. This application makes use of Maple's ability to manipulate unevaluated function calls easily and naturally.
Function expressions may be created using the constructor apply.
Assignments to unevaluated function calls can create procedures. When you assign a value to the function expression , in which is an unassigned name, a procedure is created and assigned to which returns unevaluated for all argument sequences other than and returns the value assigned when passed the argument . The value of the expression is stored in the remember table of the newly created procedure. Subsequent assignments to unevaluated calls to further populate this remember table.
In the case when is a constant, there are some differences in how is parsed in 1-D and 2-D input modes. For example, in 1-D input is a function application, but in 2-D by default this means multiplication. For more information, including how to change this default behavior, see 2DMathDetails.
Examples
Two ways to apply sin to :
The next command, entered two ways, returns unevaluated.
type( 'proc(x) 1+x; end( 2 )', 'function' );
Assign to this function expression.
Now is assigned a procedure with a remember table.
Add more entries to the remember table.
See Also
apply, Argument Processing, functional operators, index of functions, initial functions, op, operator, procedure, type, type/function
Download Help Document