Chapter 3. Basic Functions
In this chapter, I'll cover the core element of the program code built with the functional paradigm, that is, function. The notion of a function is ubiquitous indeed. In the world around us, it may mean plenty of things, from purpose of something to dependency and to work in a certain manner. But here, I will consider it through the prism of computer programming, where a function generally means a method of computing results based on inputs. This examination is going to include the following:
- The notion of a function, the function definition and type signature, pure functions, referential transparency, and side effects
- Function parameters and arguments: a special type
unit
, the parameter number and type, the return value and type, currying, partial function application - Higher-order functions, functions as arguments and return values, anonymous functions, functions as data type constituents, and functions as interfaces
- Closures, mutable values, and...