Introduction To Haskell
Data Types


Haskell is a language that uses static typing. This means that the data type of any expression or assignment evaluation is determined when the program is compiled. A program that would generate a type mismatch error will not compile and run.

Haskell is strongly typed. This means that a data type cannot be changed once it has been set. It also means that Haskell will not perform implicit conversions between data types.

Data types are inferred by the compiler. It does not have to be told what type of data it is working with.

The :t command can be used to return the data type of an expression and get a sense of what is going on.


Numeric Data Types

IntInteger, min and max values dependent on CPU word size.
IntegerBig Integer - as many digits as needed.
FloatAs in C#.
DoubleAs in C#.