March 6, 2017

Why Do We Use Haskell?

Since 2016, RELEX has had Haskell (and some Elm) deployed in production. The experience has been extremely positive: a team of only a few people used Haskell to build useful, reliable and maintainable software that many rely on daily to get things done. New features and improvements are implemented constantly by a team of Haskellers that has grown ever since.

Haskell success stories are not rare. Today, Haskell is widely used in the software industry. Although it’s not as popular as Python/Java/C++, Haskell has many benefits compared to them:

  • Concise, high-level, practical and also very fast
  • An advanced system, which provides a lot of extra safety and flexibility
  • Concurrency is easy compared to many other languages
  • Many high-quality libraries
  • Good tooling and package management
  • Strong, healthy and very supportive community

Most importantly, it’s a very pleasant language to work with!

Of course, there ain’t no such thing as a free lunch: debugging performance issues can be tricky due to lazy evaluation and aggressive compile-time program transformations. And then there’s the psychological fright in needing to learn about monads in order to write a Hello World program.

There’s no denying that Haskell has a steep learning curve for most people. One could argue, though, that the steepness of that curve is almost entirely artificial. The only reason Haskell and its relatives are not more widely adopted is that CS educations around the world barely even mention these languages. It’s not easy to learn new concepts while also unlearning old habits.

At RELEX it is believed that best decisions are made by those who are experts in that area, regardless of their title or position. Thus, developers get to influence which technologies are used and when. In a new project, tech stack is almost always decided by the team working on that project. This has paved the way for also other less common languages, such as Elm, Kotlin and Clojure, to be used in projects.

We recently hosted a Haskell & Elm meetup at RELEX headquarters in Helsinki and ended up having a full house of enthusiastic developers join the meetup. It’s great to see that the interest in less used languages is growing and will hopefully also continue to grow in the years to come!

If you would like to read more about Haskell High Performance Programming, have a look at the book that I wrote about the subject.

Samuli is a DevOps and functional programming evangelist at RELEX. Originally from Finland, he now lives in Austria. He is experienced with Haskell and Linux systems and has a BSc from University of Helsinki. He’s interested in abstract mathematics, blockchain technology, reading books and articles about almost anything, hanging out with friends sometimes over a beer or two and playing badminton.

More stories

In our blog our people tell about their life at RELEX.

Employee Spotlight: Timo Idänheimo

Employee Spotlight: Timo Idänheimo

May 19, 2020 Employee Spotlight: Timo Idänheimo Careers at RELEX » Blog » Jobs bei RELEX » Blog » Here at RELEX, we build outstanding software that creates measurable value for our retail customers. As smart as our AI-driven software is,...

Best Practices for Working from Home

Best Practices for Working from Home

May 8, 2020 Best Practices for Working from Home Careers at RELEX » Blog » Jobs bei RELEX » Blog » One of the traits most important to the life of an old tree is how intricate its root system has become. Each root meandering through nooks and...

Improving Efficiency in Food Retailers’ Supply Chains

Improving Efficiency in Food Retailers’ Supply Chains

April 9, 2020 Improving Efficiency in Food Retailers’ Supply Chains Careers at RELEX » Blog » Jobs bei RELEX » Blog » This article was originally published in April 2020 in Kauppalehti Optio’s Finland’s Most Interesting Employers 2020 annex....