This document introduces Haskell and discusses three key concepts: strong types, purity, and larger examples. It covers how Haskell uses strong static types to enable automated testing. Pure functions are described as having no side effects, which makes reasoning about code easier. Several examples are provided like reversing a list, lazy evaluation, and automatic testing with QuickCheck. The document concludes by mentioning parallelism, effects, and provides resources for learning more about Haskell.