Topic study hub
Functional programming paradigm
Official AQA 7517 section 4.12.1.
0
Objectives
10
Flashcards
10
Questions
90 min
Study time
AqaA LevelComputer ScienceFundamentals of functional programming
Choose a revision tool
Start revising Functional programming paradigm
Syllabus checklist
What you need to know
0 objective pages available
Function type1 objectives
- Function type: Know that a function, f, has a function type f: A → B (where the type is A → B, A is the argument type, and B is the result type). Know that A is called the domain and B is called the co-domain. Know that the domain and co-domain are always subsets of objects in some data type. Loosely speaking, a function is a rule that, for each element in some set A of inputs, assigns an output chosen from set B, but without necessarily using every member of B. For example, f: {a,b,c,…z} → {0,1,2,…,25} could use the rule that maps a to 0, b to 1, and so on, using all values which are members of set B. The domain is a set from which the function’s input values are chosen. The co-domain is a set from which the function’s output values are chosen. Not all of the co-domain’s members need to be outputs.
First-class object1 objectives
- First-class object: Know that a function is a first-class object in functional programming languages and in imperative programming languages that support such objects. This means that it can be an argument to another function as well as the result of a function call. First-class objects (or values) are objects which may: • appear in expressions • be assigned to a variable • be assigned as arguments • be returned in function calls. For example, integers, floating-point values, characters and strings are first class objects in many programming languages.
Function application1 objectives
- Function application: Know that function application means a function applied to its arguments. The process of giving particular inputs to a function is called function application, for example add(3,4) represents the application of the function add to integer arguments 3 and 4. The type of the function is f: integer x integer → integer where integer x integer is the Cartesian product of the set integer with itself. Although we would say that function f takes two arguments, in fact it takes only one argument, which is a pair, for example (3,4).
Partial function application1 objectives
- Partial function application: Know what is meant by partial function application for one, two and three argument functions and be able to use the notations shown opposite. The function add takes two integers as arguments and gives an integer as a result. Viewed as follows in the partial function application scheme: add: integer → (integer → integer) add 4 returns a function which when applied to another integer adds 4 to that integer. The brackets may be dropped so function add becomes add: integer → integer → integer The function add is now viewed as taking one argument after another and returning a result of data type integer. 92
Composition of functions1 objectives
- Composition of functions: Know what is meant by composition of functions. The operation functional composition combines two functions to get a new function. Given two functions f: A → B g: B → C function g ○ f, called the composition of g and f, is a function whose domain is A and co-domain is C. If the domain and co-domains of f and g are ℝ, and f(x) = (x + 2) and g(y) = y3. Then g ○ f = (x + 2)3 f is applied first and then g is applied to the result returned by f.
Key terms
DomainCo-domainFirst-class objectFirst-class functionFunction applicationCartesian productPartial function applicationFunction type notationComposition of functions
Exam tips
- Read the arrow notation carefully: For f: A → B, remember that A is the domain and argument type, while B is the co-domain and result type.
- State the permitted operations precisely: When defining a first-class object, remember the four actions: it can appear in an expression, be assigned to a variable, be assigned as an argument, and be returned in a function call.
Common mistakes
- Assuming every co-domain member must be an output: The co-domain is the set from which outputs are chosen. It may contain members that the function never uses.
- Assuming first-class objects are only functions: Functions can be first-class objects, but the specification also gives integers, floating-point values, characters and strings as examples of first-class values in many programming languages.
Practice preview
Continue by objective
Objectives are grouped by subtopic so students can jump straight to the exact skill they want to revise.
Related topics
