diff --git a/src/content/archives/what-is-haskell.md b/src/content/archives/what-is-haskell.md index 2159749..5b7189c 100644 --- a/src/content/archives/what-is-haskell.md +++ b/src/content/archives/what-is-haskell.md @@ -16,7 +16,7 @@ Haskell is a general purpose programming language. So you can use it for anythin - Haskell code tends to be very short and clear (See code examples below) - Since it is very, very high level, the language is incredibly expressive (See DSL below) - Concurrency is much better in Haskell than in many other languages (See here: https://en.wikibooks.org/wiki/Haskell/Concurrency) -- The type system is exceptionally good. Certain types of errors cease to exist (e.g. no Null pointer exception) (See here: https://softwareengineering.stackexchange.com/questions/279316/what-exactly-makes-the-haskell-type-system-so-revered-vs-say-java?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa ) +- The type system is exceptionally good. Certain types of errors cease to exist (e.g. no Null pointer exception) (See here: https://softwareengineering.stackexchange.com/questions/279316/what-exactly-makes-the-haskell-type-system-so-revered-vs-say-java) - Purity. Haskell _does not allow for side affects_. In other languages, a "getMember" function might get you a member, might not. But it might also scrape a key up the side of your car. This kind of problem is not possible in Haskell thanks to purity. (See here: https://wiki.haskell.org/Functional_programming#Purity) ## Code Examples