[Resource](/blog-category/resource/) May 25, 2022

# Scarf Tech Stack: Relude

At Scarf we love highlighting and using awesome open source projects. This blog post will talk about Relude, a project we use in the majority of our Scarf tech stack.

By Christina Gorton

![Scarf Tech Stack: Relude](/imported/social-og/cd5309fcaeb0f38d-76a5b8d9.png)

![Supporting image 1 for Scarf Tech Stack: Relude](/imported/posts/cd5309fcaeb0f38d.png)

## Motivation

At Scarf we love highlighting and using awesome open source projects. This blog post will talk about [Relude](https://github.com/kowainik/relude), a project we use in the majority of our Scarf tech stack. For more information on the overall architecture we use to develop Scarf see our previous [Scarf Tech Stack](/post/the-scarf-tech-stack) post.

## What is Relude?

At Scarf we write functional programming in Haskell. [Relude](https://github.com/kowainik/relude) is one alternative to Prelude, a standard module, in Haskell. It is widely known as a safe, performant, and user-friendly Haskell standard library.

Their [ReadMe](https://github.com/kowainik/relude) details all the reasons why other developers might choose Relude for their tech stack. In this post we will talk about why and how Scarf uses it.

### Why Relude?

Using and adopting a new library can be difficult. Often projects lack proper documentation. Fortunately, Relude has extensive documentation that is beginner friendly.  
The Relude community is also inviting and works to keep good communication between their maintainers and users.

The community put a lot of effort into their content, including helpful blog posts by the maintainers on their site, [Kowainik](https://kowainik.github.io/posts).  
Other reasons we use Relude include:

-   The library offers [type-safety](https://en.wikipedia.org/wiki/Type_safety) and [function totality](https://kowainik.github.io/posts/totality).
-   It is performant with a preference for `Text`, a more efficient alternative to Haskell’s standard `[String](https://mail.haskell.org/pipermail/haskell-cafe/2014-June/114745.html)`.
-   It provides convenience by bringing commonly used types and functions into scope, and making available functions easier to use.
-   It is minimal with a low number of dependencies.

## How Scarf uses Relude

Relude is used in a majority of our codebase, including the main app server we use for our website, \`scarf-server\`, our data processing pipeline, and beyond.

We made the decision to use Relude as our base library instead of the default Haskell base library because it has good defaults that cue users when they are using unsafe functions. This is important because the default library doesn’t flag the unsafe functions which can lead to runtime errors.

## Learn More

To learn more about Relude:

-   Kowaink: [https://kowainik.github.io/posts](https://kowainik.github.io/posts)
-   Twitter: [https://twitter.com/kowainik](https://twitter.com/kowainik)
-   Relude GitHub: [https://github.com/kowainik/relude](https://github.com/kowainik/relude)

Do you know what companies are using your open source project? Learn more about how Scarf can help you see a project’s impact, identify potential customers, and understand growth without sacrificing your end-user’s privacy:

-   Website: [https://about.scarf.sh/](/)
-   Tech stack blog post: [https://about.scarf.sh/post/the-scarf-tech-stack](/post/the-scarf-tech-stack)

Related Resources

[![](/imported/social-og/56df6684ceae399c-9c0647d5.png)

Resource Sep 5, 2023

### Beyond the Surface: How to Engage with the Quiet Members of your Open Source Community

In the dynamic realm of community management, marketing, and developer relations, success depends upon more than just attracting attention. It's about fostering meaningful relationships, nurturing engagement, and amplifying your community's impact.



](/post/beyond-the-surface-how-to-engage-with-the-quiet-members-of-your-open-source-community/)[![](/imported/social-og/9277af8f0c81f6d2-3589135f.png)

Resource Sep 1, 2023

### Why Open Source Projects and Companies Should Adopt "Open Source Qualified Leads"

The modern digital age, driven by the proliferation of open-source projects, is as much about community as it is about the code. This means understanding and engaging with potential adopters, contributors, and users becomes critical for the health and success of a project or product. Here enters the concept of "Open Source Qualified Leads" (OQL).



](/post/why-open-source-projects-and-companies-should-adopt-open-source-qualified-leads/)[![](/imported/social-og/dfcfee806089be6a-45bd3ca2.png)

Resource Aug 3, 2023

### Mastering Telemetry in Open Source: A Simple Guide to Building Lightweight Call Home Functionality

Implementing a call-home functionality or telemetry within open-source software often raises privacy concerns within the community. Many parties, including enterprise security teams, customer advocates, and developers, express rightful apprehensions about the transmission, storage, and usage of data.



](/post/mastering-telemetry-in-open-source-a-simple-guide-to-building-lightweight-call-home-functionality/)

Article Notes [**Browse all resources**

Search, categories, and latest Scarf writing.

](/resources)[**See pricing**

Understand how Scarf packages its offering.

](/pricing)

On this page [Motivation](#motivation)[What is Relude?](#what-is-relude)[Why Relude?](#why-relude)[How Scarf uses Relude](#how-scarf-uses-relude)[Learn More](#learn-more)
