HaskellAn advanced purely-functional programming language
Natural, declarative, statically typed code.
fibonacci 0 = 0
fibonacci 1 = 1
fibonacci n = fibonacci (n - 1) + fibonacci (n - 2)

Try it

An open source community effort for over 20 years

Learn more

Features

No More Null Errors

How often do programs crash because of an unexpected null value? Haskell programs never do! The compiler has your back; it tells you anytime you forget to properly handle an optional value.

View examples

Scaling Just Works

You shouldn't have to rewrite half your code base when it's time to scale. Haskell code is thread-safe by default, and the runtime efficiently handles concurrency for you. Software transactional memory comes standard.

View examples

Concise and Reliable: Pick Two

What if you didn't have to write out type signatures, but the compiler still caught all your type errors for you ahead of time? Haskell's type inference ensures your logs remain completely free of type errors, while you write signatures—or have the compiler write them for you—only if you think they'll be helpful.

View examples

Rock-Solid Ecosystem

Haskell code has a reputation: if it compiles, it usually just works. Bugs are fewer and farther between. Hackage hosts thousands of such libraries and packages, any of which you can add to your project with one line of configuration.

View examples