It allows programs to be constructed by applying and composing functions. Its function definitions are trees of expressions that each return a value, rather than a sequence of imperative statements which change the state of the program or world. Functions can be bound to names (including local identifiers), passed as arguments, and returned from other functions, just as any other data type can. |
|