/haskell-heaven

A sweeping survey of Haskell Heaven !!! <3 :)

Primary LanguageHTMLMIT LicenseMIT

Haskell Heaven

Welcome to a sweeping survey of Haskell Heaven ! :)

Here I am, trying to document my journey to (& around...) this hallowed land, via my personal "snaps" & blogs about beautiful vistas in the vast landscape of Functional Heaven that is Haskell.

Like any travelogue, my wish/hope is that this rambling set of essays & articles stokes an interest in fellow wanderers, to get a first-hand glimpse of Haskell Heaven that I have so excitedly tried to portray!

Salient features

There are many aspects of Haskell that stand out as beautiful peaks of research and evolution in the confluence of Mathematics (Lambda Calculus, Category Theory, etc.) & Computer Science. Some of them are as below:

  • Functions that mirror their mathematical counterparts, with the default of no side-effects
  • Inspiration from Category Theory, which aims to subsume all of Set Theory, with a programming language--no mean feat indeed! Haskell thus has many concepts from Category Theory like Functors, Monads, Monoids, Arrows, etc. Most of Haskell's staple of concepts have a sound mathematical foundation, unlike other programming languages which compromised rigor for various reasons.
  • Lazy evaluation. This allows working with infinite data structures and provides great support for modularity.
  • Purity. Side-effects in Functions are explicitly modeled, allowing separation of pure & impure code, thus helping reason about program correctness.
  • A very expressive type system with powerful type inference built in.
  • 'Beautiful Concurrency', to borrow a phrase from one of the designers of Haskell, Simon Peyton Jones.
  • Many more features which will be explored here...

Functional Programming is gaining a lot of traction in the industry too, from its initial origins in academic research, to real-world applications.