Top 23 Haskell Open-Source Projects

  • ShellCheck

    ShellCheck, a static analysis tool for shell scripts

    Project mention: Ask HN: Popular open source tool originally written in Haskell? | news.ycombinator.com | 2024-02-10

    ShellCheck: https://github.com/koalaman/shellcheck

  • pandoc

    Universal markup converter

    Project mention: Ask HN: Looking for lightweight personal blogging platform | news.ycombinator.com | 2024-02-06

    Others have mentioned static site generators. I like Hakyll [1] because it can tightly integrate with Pandoc [2] and allows you to develop custom solutions if your needs ever grow.

    [1]: https://jaspervdj.be/hakyll/

    [2]: https://pandoc.org/

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • Hasura

    Blazing fast, instant realtime GraphQL APIs on your DB with fine grained access control, also trigger webhooks on database events.

    Project mention: The 2024 Web Hosting Report | dev.to | 2024-02-20

    Today, this ecosystem is going strong with new providers like Hasura, AppWrite and Supabase powering millions of projects. There are a few reasons people choose this style of hosting, especially if they are more comfortable with frontend development. BaaS lets them set up a database in a secure way, expose some business logic on top of the data, and connect via a dev-friendly SDK from their app or website code to save data easily. These modern tools build a blend of managed database with curated plugins such as authentication, great admin dashboards, and function as a service type capability - all in one package, and often offered as a integrated hosted service.

  • postgrest

    REST API for any Postgres database

    Project mention: Build a simple project management app with Neon, PostgREST, and DigitalOcean | dev.to | 2024-02-27

    wget 'https://github.com/PostgREST/postgrest/releases/download/v11.2.0/postgrest-v11.2.0-linux-static-x64.tar.xz'

  • compiler-explorer

    Run compilers interactively from your web browser and interact with the assembly

    Project mention: Managing mutable data in Elixir with Rust | news.ycombinator.com | 2024-02-16

    Let's compile it with https://godbolt.org/, turn on some optimisations and inspect the IR (-O2 -emit-llvm). Copying out the part that corresponds to the while loop:


  • milewski-ctfp-pdf

    Bartosz Milewski's 'Category Theory for Programmers' unofficial PDF and LaTeX source

    Project mention: reflect-cpp - Now with compile time extraction of field names from structs and enums using C++-20. | /r/cpp | 2023-12-09

    Category Theory for Programmers by Bartosz Milewski (https://github.com/hmemcpy/milewski-ctfp-pdf/releases)

  • wasp

    The fastest way to develop full-stack web apps with React & Node.js.

    Project mention: Web frameworks we are most excited for in 2024 | dev.to | 2024-02-13

    For those who want the tool to have full control over their stack simply and easily, look no further! Wasp is an opinionated full-stack framework that leverages its compiler for a fast and easy way to create a database, backend, and frontend for your app. It uses React, Node.js, and Prisma, which are some of the most well-known tools that full-stack web developers are using.

  • LearnThisRepo.com

    Learn 300+ open source libraries for free using AI. LearnThisRepo lets you learn 300+ open source repos including Postgres, Langchain, VS Code, and more by chatting with them using AI!

  • hadolint

    Dockerfile linter, validate inline bash, written in Haskell

    Project mention: I reduced the size of my Docker image by 40% – Dockerizing shell scripts | news.ycombinator.com | 2024-02-03

    This is neat :)

    I love going and making containers smaller and faster to build.

    I don't know if it's useful for alpine, but adding a --mount=type=cache argument to the RUN command that `apk add`s might shave a few seconds off rebuilds. Probably not worth it, in your case, unless you're invalidating the cached layer often (adding or removing deps, intentionally building without layer caching to ensure you have the latest packages).

    Hadolint is another tool worth checking out if you like spending time messing with Dockerfiles: https://github.com/hadolint/hadolint

  • awesomo

    Cool open source projects. Choose your project and get involved in Open Source development now.

  • purescript

    A strongly-typed language that compiles to JavaScript

    Project mention: Learning Elm by porting a medium-sized web front end from React (2019) | news.ycombinator.com | 2024-02-29
  • AlgoXY

    Book of Elementary Functional Algorithms and Data structures

  • unison

    A friendly programming language from the future

    Project mention: Unison Cloud | news.ycombinator.com | 2024-02-07

    Short version: no type classes (yet)

    Longer version:

    Building upon what Quekid5 mentioned, Unison abilities are an implementation of what is referred to as algebraic effects in programming language literature. They represent capabilities like IO, state, exceptions, etc. They aren't really a replacement for type classes, though in some cases you can shoehorn abilities in where you might otherwise use a type class.

    For someone coming from a Haskell background, I think that abilities are closer to a replacement for monad transformers. But in my opinion they are much more ergonomic.

    Discusson of type classes comes up a lot. Here is a long-standing GitHub issue: https://github.com/unisonweb/unison/issues/502

    For what it's worth, I've written Unison quite a lot over the past few years and while I've missed type classes at times, I think that reading unfamiliar code is easier without them. There's no implicit magic; you can see exactly what is being passed into a function. So far I've been happy with a bit more verbosity for the sake of readability.

  • simplex-chat

    SimpleX - the first messaging platform operating without user identifiers of any kind - 100% private by design! iOS, Android and desktop apps 📱!

    Project mention: What are your favorite End-to-End encrypted tools for online privacy? | /r/degoogle | 2023-12-08

    For messaging I'm currently on Olvid (E2E with physical key exchange) but since it still use their servers, I'm currently testing SimpleX where I can host my own servers.

  • ihp

    🔥 The fastest way to build type safe web apps. IHP is a new batteries-included web framework optimized for longterm productivity and programmer happiness

    Project mention: Ask HN: Why are all of the best back end web frameworks dynamically typed? | news.ycombinator.com | 2023-10-05

    I found IHP straightforward:


    despite not remembering much haskell!

    This assumes you can get past nix for the install.

    I find IHP well-designed. I just wish the licensing scheme were more transparent.

  • extism

    The framework for building with WebAssembly (wasm). Easily load wasm modules, move data, call functions, and build extensible apps.

    Project mention: Show HN: Now my pet programming language can run in the browser | news.ycombinator.com | 2024-02-10

    It may just be my own unique obsession to peek at the internals of .wasm, but if anyone else is curious:


    u/nbittich - curious if you've tried to use your language as as a scripting language inside other apps? I took a peak at your browser wasm environment, and think we could hook up the `compute` entrypoint you have here[0], but I'm not certain what the `ctx` does without going super deep, and if it could be passed into an Extism function[1] (which is how I'd try to run it from within 16+ other languages).

    [0]: https://github.com/nbittich/adana/blob/master/adana-script-w...

    [1]: https://github.com/extism/extism

  • xmonad

    The core of xmonad, a small but functional ICCCM-compliant tiling window manager

    Project mention: Installing Xmonad on Arch | /r/xmonad | 2023-06-05

    The official guide and the archwiki do say that it's okay to just install it via pacman, but I've also found some issues on the official repo that strongly suggest against installing via pacman and to use stack instead, as sometimes pacman breaks dependencies.

  • koka

    Koka language compiler and interpreter

    Project mention: Koka v3 Released | news.ycombinator.com | 2024-01-14
  • hledger

    Robust, fast, intuitive plain text accounting tool with CLI, TUI and web interfaces.

    Project mention: Ledger | news.ycombinator.com | 2024-02-24

    I've been using hledger[1] - similar tool but has more features like balance sheet, income statement generation with a plain text file for the last 3 years and it's been working out great. Before that I used iBank (rebranded as Banktivity) and don't miss it at all.

    [1] - https://hledger.org

  • m2cgen

    Transform ML models into a native code (Java, C, Python, Go, JavaScript, Visual Basic, C#, R, PowerShell, PHP, Dart, Haskell, Ruby, F#, Rust) with zero dependencies

    Project mention: How to use python ML script in tauri? | /r/rust | 2023-05-02

    Check out: https://github.com/BayesWitnesses/m2cgen

  • eta

    The Eta Programming Language, a dialect of Haskell on the JVM

    Project mention: Regarding Lenses, Prisms and Optics | /r/javahelp | 2023-10-18

    Or just go full on functional. There are several JVM based Haskell languages, e.g. Eta and Frege.

  • wire-server

    🇪🇺 Wire back-end services

  • haskell-language-server

    Official haskell ide support via language server (LSP). Successor of ghcide & haskell-ide-engine.

    Project mention: Revisiting Haskell after 10 years | dev.to | 2024-01-15

    The advent of language server protocol made possible the creation of HLS (Haskell Language Server), and there are plugins for many editors, such as vscode-haskell, that allow you to have auto-complete, auto-import, and automatic function signatures—also available to your editor of choice. The whole feedback loop of editing, compiling, and running is greatly improved.

  • ihaskell

    A Haskell kernel for the Jupyter project.

    Project mention: Working interactively with non-IO environments in ghci | /r/haskell | 2023-03-15

    Are you referring to IHaskell: https://github.com/IHaskell/IHaskell?

  • WorkOS

    The modern API for authentication & user identity. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2024-02-29.

Haskell related posts


What are some of the best open-source Haskell projects? This list will help you:

Project Stars
1 ShellCheck 34,487
2 pandoc 31,706
3 Hasura 30,701
4 postgrest 21,837
5 compiler-explorer 14,823
6 milewski-ctfp-pdf 10,652
7 wasp 9,618
8 hadolint 9,530
9 awesomo 9,165
10 purescript 8,418
11 AlgoXY 5,944
12 unison 5,478
13 simplex-chat 5,019
14 ihp 4,200
15 extism 3,535
16 xmonad 3,216
17 koka 2,992
18 hledger 2,690
19 m2cgen 2,690
20 eta 2,589
21 wire-server 2,578
22 haskell-language-server 2,541
23 ihaskell 2,535
The modern API for authentication & user identity.
The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.