# Top 15 Haskell Interview Questions for 2022

Haskell is a functional programming language. It is based on mathematical functions. This programming language is more intelligent than other popular programming languages.

### 2) Who is the developer of Haskell?

Lennart Augustsson is the developer of Haskell.

Example:
`main = putStrLn "Haskell Expert"`
OUTPUT:
```Haskell Expert
```

### 4) What is Tuple in Haskell?

Tuple is used to declare multiple values in a single data type. Tuple is heterogeneous and immutable in nature. Tuples are represented by single parenthesis.

### 5) What are the types of operators used in Haskell?

The types of operators used in Haskell are:
• Subtraction Operator
• Multiplication Operator
• Division Operator
• Sequence / Range Operator

### 7) What is the difference between Haskell and Erlang?

The difference between Haskell and Erlang are:
Offers the features like lazy evaluation, equations, higher order functions, pattern matching over algebraic data type, etc. Offers the features like pattern matching, higher order functions, fault tolerance, dynamic code reloading etc.
No built in support for concurrency in Haskell built in support for concurrency
Static typing Dynamic typing

### 8) What are the types of polymorphism you will encounter in Haskell?

The types of polymorphism used in Haskell are:
• Parametric Polymorphism
• Bounded Polymorphism

### 9) How data types are combined in Haskell?

There are two ways to combine data types in Haskell are:
```List[square brackets]

Tuples(parenthesis)```

### 10) What is Zippers?

Zippers are basically pointers that point to some specific location of a data structure. Example: Tree

### 11) What are the basic laws that are applicable over a Monad declaration in Haskell?

There are three basic laws that are applicable over a Monad declaration are:
```Left Identity Law: Expressed as "return >=> mf = mf"

Right Identity Law: Expressed as "mf >=> return = mf"

Associativity: Expressed as "( f >==>g) >=> h =f >= >(g >=h)"```

### 12) What is Monoid?

Monoid is a set of functions and operators. In Monoids, The output is independent of its input.

### 13) What are the types of Modules used in Haskell?

The types of Modules used in Haskell are:
• List Module
• Char Module
• Map Module
• Set Module
• Custom Module

### 14) What is Function Composition in Haskell?

The process of using the output of one function as an input of another function is known as Function Composition.

### 15) Which operator is used to implement function composition in Haskell?

The dot operator (.) is used to implement function composition in Haskell.