Som i andre funksjonelle språk er programmer skrevet i Haskell først og fremst konstruert ut ifra funksjonskall. Alle variabler er lokale, og kan ikke endres underveis; fremfor iterasjon brukes oftest rekursjon. Språket er dypt forankret i Currys forskning og har en mer matematisk tilnærming til programmering enn imperative språk.