Why Cardano Implemented Haskell
The Haskell Functional programming language, used to develop the Cardano blockchain, places an emphasis on using “pure” functions where possible: functions that provide the same result for the same input. While that is a given for mathematicians, computer programmers are used to the idea that “functions” in a computer program also depend on internal state, data on a disk, or the current time; by separating these variables from the main logic when possible, Haskell programmers can make it much easier to "reason" the code - not only does that make it easier to write correct code, it is also invaluable for testing, and even proving its correctness.
Haskell programming allows Cardano’s Plutus and Marlowe smart-contracts to be created in a precise, formally-verified method that offers a high level of assurance by leveraging existing Haskell documentation, tool-kits, and a professional community that builds enterprise-grade smart contracts.
Read more >> Cardano Haskell Functional Programming