# Introduction To Haskell Function Composition

## Introduction

Imagine that you have two functions. The return type of the first function is the argument type of the second. When this is true, you can create a new function by pipelining the result of the first function into the second.

Here is an example,

```myOdd = not . even
```

Here, the not and even functions are combined to make a function that returns True if a number is odd. From the specification,

The operation functional composition combines two functions to get a new function.

Given two functions

• f: A → B
• g: B → C

function g o f, called the composition of g and f, is a function whose domain is A and co-domain is C.

## Example

In this example, we define two functions, f and g. Function f adds 5 to its argument. Function g squares its argument.

```f :: Integer->Integer
f x = x + 5

g :: Integer->Integer
g x = x^2

comp :: Integer -> Integer
comp = f.g
```

The comp function is the composition of functions f and g. The result of function g is pipelined to function f. 