Haskell is a pure functioning programming language created over 20 years ago by researchers from a consortium of major universities. It is sustained and enhanced by an enthusiastic and dedicated global open-source community. Haskell’s approach is fundamentally different from other imperative languages (Java, C family, Python etc.) dominant today. Haskell programs are a series of high-level generalizable functions that define what the program is intended to do, and the programmer focuses on the objective, the best design and ensuring the logic is correct.
Haskell is a leap forward from traditional programming's series of low-level instructions telling the computer exactly how to calculate things in minute, step-by-step order. Haskell frees the programmer from many of these minutiae, and drastically reduces the time spent finding and correcting errors. At the same time, it provides native support for high-performance, multicore, scalable computing.
Watch our short Introduction to Haskell video to understand why developers prefer Haskell over other programming languages.
One of the best online resources for learning Haskell and Haskell-related topics is the School of Haskell, packed with tutorials and books with interactive code snippets, contributed by well-known Haskell authors and community members.
These real-world case studies describe how several companies achieved faster time to market, better quality, and better scalability by using Haskell in their professional work. We've included examlpes of companies switching to Haskell from other languages, or using a mixture of Haskell and other languages.
Haskell is the right choice for organizations needing:
For everything you need to get started with Haskell, you need The Haskell Stack.
Downloads are available by operating system:
Go into a Haskell project directory and run
stack build. If everything is
already configured, this will:
You may be prompted to run some of the following along the way:
stack newto create a brand new project.
stack initto create a stack configuration file for an existing project. stack will figure out what Stackage release (LTS or nightly) is appropriate for the dependencies.
stack setupto download and install the correct GHC version in an isolated location (default
~/.stack) that won't interfere with any system-level installations. (For information on installation paths, please use the
If you just want to install an executable using stack, then all you have
to do is
stack install <package-name>.
stack for a complete list of commands.