# Functional Programming - Algebraic Data Type

### Table of Contents

## 1 - About

An algebraic data type is a data type that is the input **and** the output of its own operations.

## 2 - Articles Related

## 3 - Benefits

- An algebraic structure can be composed before being executed. This is a composite type
- An algebraic Structure allows a reasoning and manipulation independently of physical data representation.

## 4 - Example

### 4.1 - Number

All number are algebraic data type.

<MATH> 1 + 2 - 3 </MATH>

### 4.2 - Relation

A relation (table, view, …) is an algebraic data type because every operations on a relation output a relation.