# (Function | Operator | Map | Mapping | Transformation | Method | Rule | Task | Subroutine)

A function is a callable unit that may be called:

• a procedure,
• a subrontine
• a routine,
• a method (belong to an object)
• a subprogram
• a map
• a mapping
• a transformation
• a rule

A function is computable if there exists an algorithm that can do the job of the function.

A function is a reusable block (section|chunk) of code written that:

1. accepts arguments as input,
3. and returns some other information as output.

Catalog and type of function that you can meet in any development language.

In real life, all functions are continuous and smooth.

The clarity of examples, and the software’s decipherability and debuggability in the real world, are likely far more important. Form must communicate function. Mike Bostocks

Functions that take many arguments are obviously bad design. Named properties can be enhanced by using method chaining and single-argument getter-setter methods.

Function property. See (Function|Operator) - Algebraic (Laws|properties) - Axioms

The concept of function is defined as a special kind of binary relation.

## 3 - Syntax

input -> Rule -> Output

where rule:

## 4 - Declaration and Execution

A function declaration has generally:

• a name,
• a list of parameters called a signature,
• an optional list of results,
• and the function body, which contains the statements that define what the function does.

Execution of the function begins with the first statement and continues until it encounters a return statement or reaches the end of a function that has no results. Control and any results are then returned to the caller.

## 6 - Type

### 6.4 - Aggregate functions

Aggregate functions return a single value, calculated from values in a column.

### 6.6 - Deterministic function

Did they return always the same result ? deterministic properties