Open Source Haskell Software

Haskell Software

Haskell Clear Filters

Browse free open source Haskell Software and projects below. Use the toggles on the left to filter open source Haskell Software by OS, license, language, programming language, and project status.

  • Our Free Plans just got better! | Auth0 Icon
    Our Free Plans just got better! | Auth0

    With up to 25k MAUs and unlimited Okta connections, our Free Plan lets you focus on what you do best—building great apps.

    You asked, we delivered! Auth0 is excited to expand our Free and Paid plans to include more options so you can focus on building, deploying, and scaling applications without having to worry about your security. Auth0 now, thank yourself later.
    Try free now
  • Automate contact and company data extraction Icon
    Automate contact and company data extraction

    Build lead generation pipelines that pull emails, phone numbers, and company details from directories, maps, social platforms. Full API access.

    Generate leads at scale without building or maintaining scrapers. Use 10,000+ ready-made tools that handle authentication, pagination, and anti-bot protection. Pull data from business directories, social profiles, and public sources, then export to your CRM or database via API. Schedule recurring extractions, enrich existing datasets, and integrate with your workflows.
    Explore Apify Store
  • 1
    Pandoc

    Pandoc

    The universal markup converter

    Pandoc is a universal document converter able to convert files from a multitude of markup formats into another. With Pandoc, you have a swiss-army knife of a converter, able to convert practically any markup format into any other. Pandoc contains a Haskell library for conversions as well as a command-line tool that uses this library. It can convert to and from just about anything-- lightweight markup formats, HTML formats, documentation formats, ebooks, TeX formats, word processor formats and so much more. It understands several useful markdown syntax extensions, such as document metadata, footnotes, tables, and more. If you want strict markdown compatibility however, these extensions can be turned off. Pandoc is no doubt powerful and customizable, but it is important to note that its intermediate representation of a document is less expressive than many of the formats, so it may not produce perfect conversions every time.
    Downloads: 120 This Week
    Last Update:
    See Project
  • 2
    FreeArc combines best 7-zip and RAR features: auto-selected LZMA/PPMD/Multimedia compression, 1gb dictionary, exe/dict/delta data filters, updatable solid archives, SFXes, recovery record, AES+Twofish+Serpent encryption, Linux support and much more...
    Leader badge
    Downloads: 375 This Week
    Last Update:
    See Project
  • 3
    SimpleX

    SimpleX

    The first messaging platform operating without user identifiers

    Other apps have user IDs: Signal, Matrix, Session, Briar, Jami, Cwtch, etc. SimpleX does not, not even random numbers. This radically improves your privacy. The video shows how you connect to your friend via their 1-time QR-code, in person or via a video link. You can also connect by sharing an invitation link. Temporary anonymous pairwise identifiers SimpleX uses temporary anonymous pairwise addresses and credentials for each user contact or group member. It allows to deliver messages without user profile identifiers, providing better meta-data privacy than alternatives. Many communication platforms are vulnerable to MITM attacks by servers or network providers. To prevent it SimpleX apps pass one-time keys out-of-band when you share an address as a link or a QR code. Double-ratchet protocol. OTR messaging with perfect forward secrecy and break-in recovery. NaCL cryptobox in each queue to prevent traffic correlation between message queues if TLS is compromised.
    Downloads: 38 This Week
    Last Update:
    See Project
  • 4
    Cabal

    Cabal

    Upstream development repository for Cabal and cabal-install

    Cabal is a system for building and packaging Haskell libraries and programs. It defines a common interface for package authors and distributors to easily build their applications in a portable way. Cabal is part of a larger infrastructure for distributing, organizing, and cataloging Haskell libraries and programs. The term cabal can refer to either: cabal-the-spec (.cabal files), cabal-the-library (code that understands .cabal files), or cabal-the-tool (the cabal-install package which provides the cabal executable); usually folks are referring to cabal-the-tool when they say cabal. To install the cabal executable you can use ghcup (if you're using Linux), the Haskell Platform, install the cabal-install package from your distributions package manager (if using Linux or Mac), or download the source or prebuilt binary from the Download page.
    Downloads: 15 This Week
    Last Update:
    See Project
  • Total Network Visibility for Network Engineers and IT Managers Icon
    Total Network Visibility for Network Engineers and IT Managers

    Network monitoring and troubleshooting is hard. TotalView makes it easy.

    This means every device on your network, and every interface on every device is automatically analyzed for performance, errors, QoS, and configuration.
    Learn More
  • 5
    ShellCheck

    ShellCheck

    A static analysis tool for shell scripts

    ShellCheck is a GPLv3 tool that provides warnings and possible suggestions for bash/sh shell scripts. ShellCheck finds bugs in your shell scripts. You can cabal, apt, dnf, pkg or brew install it locally right now. ShellCheck highlights and clarifies typical beginner's syntax mistakes and issues that cause a shell to give a cryptic error message. It shows typical intermediate level semantic problems that cause a shell to behave in a abnormally and counter-intuitively. It can also discover ssubtle caveats, corner cases and pitfalls that may cause an user's working script to fail under probable future circumstances. ShellCheck.net is always synchronized to the latest git version, and is the simplest way to give ShellCheck a go.
    Downloads: 14 This Week
    Last Update:
    See Project
  • 6
    PureScript

    PureScript

    A strongly-typed language that compiles to JavaScript

    Compile to readable JavaScript and reuse existing JavaScript code easily. An extensive collection of libraries for development of web applications, web servers, apps and more. Excellent tooling and editor support with instant rebuilds. An active community with many learning resources. Build real-world applications using functional techniques and expressive types, such as: Algebraic data types and pattern matching. Row polymorphism and extensible records. Higher kinded types and type classes with functional dependencies, as well as higher-rank polymorphism. Precompiled binaries are available for OSX, Linux, and Windows. The Pursuit package database hosts searchable documentation for PureScript packages. The recommended build tool for PureScript is Spago, which can be installed using npm.
    Downloads: 13 This Week
    Last Update:
    See Project
  • 7
    FOSSA CLI

    FOSSA CLI

    Fast, portable and reliable dependency analysis for any codebase

    FOSSA CLI is a command-line tool that scans your codebase to identify open-source dependencies and their associated licenses and vulnerabilities. It integrates into CI/CD pipelines to provide automated compliance checks, license audits, and security analysis. Designed for enterprise software teams, FOSSA CLI helps enforce open-source policies at scale and provides accurate, automated insights into third-party software usage through deep analysis of transitive dependencies and ecosystem-specific configurations.
    Downloads: 11 This Week
    Last Update:
    See Project
  • 8
    Hasura GraphQL Engine

    Hasura GraphQL Engine

    Blazing fast, instant realtime GraphQL APIs on your DB

    Hasura is an open-source product that accelerates API development by 10x by giving you GraphQL or REST APIs with built-in authorization on your data, instantly. Run Hasura, locally or in the cloud, and connect it to your new or existing databases to instantly get a production-grade GraphQL API. Developers and architects love Hasura because it takes no time to get started, doesn’t need them to be a GraphQL expert upfront, and saves their teams months of recurring effort in building, shipping, and maintaining their APIs. Hasura’s built-in RLS style authorization engine allows you to conveniently specify authorization rules at a model level, and safely expose the GraphQL API to developers inside or outside your organization. Hasura’s authz engine is enabling agile teams in fast-growing startups as well as powering mission-critical data access in highly regulated environments such as Fortune 500 healthcare, financial services and US federal agencies.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 9
    Stack

    Stack

    The Haskell Tool Stack

    Stack is a cross-platform build tool for Haskell projects that simplifies dependency management, project setup, and reproducible builds. It provides curated package sets (Stackage), isolated project environments, and consistent tooling for compiling and testing Haskell applications. Stack streamlines workflows for developers by automating many parts of the Haskell toolchain, making it easier to get started and maintain complex codebases. It supports integration with GHC (Glasgow Haskell Compiler) and Hackage.
    Downloads: 8 This Week
    Last Update:
    See Project
  • G-P - Global EOR Solution Icon
    G-P - Global EOR Solution

    Companies searching for an Employer of Record solution to mitigate risk and manage compliance, taxes, benefits, and payroll anywhere in the world

    With G-P's industry-leading Employer of Record (EOR) and Contractor solutions, you can hire, onboard and manage teams in 180+ countries — quickly and compliantly — without setting up entities.
    Learn More
  • 10
    koka

    koka

    Koka language compiler and interpreter

    Koka is a strongly typed functional-style language with effect types and handlers. The core of Koka consists of a small set of well-studied language features, like first-class functions, a polymorphic type- and effect system, algebraic data types, and effect handlers. Each of these is composable and avoid the addition of “special” extensions by being as general as possible. Koka tracks the (side) effects of every function in its type, where pure and effectful computations are distinguished. The precise effect typing gives Koka rock-solid semantics backed by well-studied category theory, which makes Koka particularly easy to reason about for both humans and compilers. Effect handlers let you define advanced control abstractions, like exceptions, async/await, or probabilistic programs, as a user library in a typed and composable way. Perceus is an advanced compilation method for reference counting.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 11
    BSC

    BSC

    Bluespec Compiler (BSC)

    BSC is the open source compiler toolchain for Bluespec SystemVerilog, a high-level, rule-based hardware design language. It translates Bluespec descriptions into synthesizable Verilog, letting developers bring typed, modular abstractions into mainstream FPGA/ASIC flows. The compiler performs scheduling of atomic rules, elaborates parameterized modules, and enforces interface contracts, producing predictable RTL that integrates with existing EDA tools. A companion simulator enables fast functional execution and debugging before handing designs to traditional verification and synthesis stages. The ecosystem includes standard libraries, FIFOs, interfaces, and utilities that encourage reuse and clean separation of datapaths and control. By raising the abstraction for hardware architecture while preserving efficient output, BSC helps teams explore complex designs—such as RISC-V cores or accelerators—more productively.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 12
    The Aura Package Manager

    The Aura Package Manager

    A secure, multilingual package manager for Arch Linux

    Aura, a secure, multilingual package manager for Arch Linux. Aura's original purpose is as an AUR helper, in that it automates the process of installing packages from the Arch User Repositories. It is, however, capable of much more. Aura is a package manager for Arch Linux. Its original purpose is as an AUR helper, in that it automates the process of installing packages from the Arch User Repositories. It is, however, capable of much more. Aura doesn't just mimic pacman; it is pacman. All pacman operations and their sub-options are allowed. Some even hold special meaning in Aura as well. -S yields pacman packages and only pacman packages. This agrees with the above. In Aura, the -A operation is introduced for obtaining AUR packages. -A comes with sub-options you're used to (-u, -s, -i, etc.). PKGBUILDs from the AUR can contain anything. It's a user's responsibility to verify the contents of a PKGBUILD before building, but people can make mistakes and overlook details.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 13
    nixfmt

    nixfmt

    The official formatter for Nix code

    nixfmt is a code formatter for the Nix expression language, aiming to provide consistent and idiomatic formatting for Nix files. It is written in Haskell and designed to be fast, predictable, and fully automatic with zero configuration. nixfmt helps Nix developers maintain readability and code consistency across large codebases, facilitating collaboration and version control workflows.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 14
    Extism

    Extism

    The Universal Plug-in System. Extend anything with WebAssembly

    Extism is a plug-in system for everyone. We've carefully designed it to be flexible, fitting into codebases of all shapes and sizes, but opinionated enough so that things Just Work™ the way they should. Extism's goal is to make all software programmable. You can use Extism in your codebase, regardless of the programming language. We support several environments through our official Host SDKs, and are adding more language support all the time. A plug-in system is software that enables your users or customers to add some logic into certain points in your application. You decide where this logic runs, and your users decide what the plug-in does. Many engineering teams face an ever-growing list of feature requests, often exceeding their bandwidth several times over. How can you ever keep up? Making your product extensible by its end-users is a great way to move some of those features outside the core, and empower customers to make your software more useful for them.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 15
    SimpleXMQ

    SimpleXMQ

    A reference implementation of the SimpleX Messaging Protocol

    A reference implementation of the SimpleX Messaging Protocol for simplex queues over public networks. SimpleXMQ is a message broker for managing message queues and sending messages over a public network. It consists of an SMP server, SMP client library, and SMP agent that implements SMP protocol for client-server communication and SMP agent protocol to manage duplex connections via simplex queues on multiple SMP servers. SMP protocol is inspired by Redis serialization protocol, but it is much simpler - it currently has only 10 client commands and 8 server responses.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 16
    Elm

    Elm

    Compiler for Elm, a functional language for reliable webapps

    Elm uses type inference to detect corner cases and give friendly hints. NoRedInk switched to Elm about four years ago, and 300k+ lines later, they still have not had to scramble to fix a confusing runtime exception in production. The compiler guides you safely through your changes, ensuring confidence even through the most wide-reaching refactorings in unfamiliar codebases. Including your own, six months later. All Elm programs are written in the same pattern, eliminating doubt and lengthy discussions when deciding how to build new projects and making it easy to navigate old or foreign codebases. Enjoy Elm's famously helpful error messages. Even on codebases with hundreds of thousands of lines of code, the compilation is done in a blink. Elm has its own virtual DOM implementation, designed for simplicity and speed. All values are immutable in Elm, and the benchmarks show that this helps us generate particularly fast JavaScript code.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 17
    Kmonad

    Kmonad

    An advanced keyboard manager

    KMonad is a cross-platform, advanced keyboard remapping tool written in Haskell. It provides low-level key control, supporting layers, tap-hold combos, multi-tap, macros, and more—even for keyboards without firmware-level customization.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 18
    Ormolu

    Ormolu

    A formatter for Haskell source code

    Ormolu is a formatter for Haskell source code. Using GHC's own parser to avoid parsing problems caused by haskell-src-exts. Let some whitespace be programmable. The layout of the input influences the layout choices in the output. This means that the choices between single-line/multi-line layouts in certain situations are made by the user, not by an algorithm. This makes the implementation simpler and leaves some control to the user while still guaranteeing that the formatted code is stylistically consistent. Writing code in such a way so it's easy to modify and maintain. Implementing one “true” formatting style which admits no configuration. The formatting style aims to result in minimal diffs. Choose a style compatible with modern dialects of Haskell. As new Haskell extensions enter broad use, we may change the style to accommodate them. Idempotence: formatting already formatted code doesn't change it.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 19
    The Futhark Programming Language

    The Futhark Programming Language

    A data-parallel functional programming language

    Futhark is a small programming language designed to be compiled into efficient parallel code. It is a statically typed, data-parallel, and purely functional array language in the ML family, and comes with a heavily optimizing ahead-of-time compiler that presently generates either GPU code via CUDA and OpenCL, or multi-threaded CPU code. Futhark is not designed for graphics programming, but can instead use the compute power of the GPU to accelerate data-parallel array computations. The language supports regular nested data-parallelism, as well as a form of imperative-style in-place modification of arrays, while still preserving the purity of the language via the use of a uniqueness type system. While the Futhark language and compiler is an ongoing research project, it is quite usable for real programming and can compile nontrivial programs which then run on real machines at high speed.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 20
    stylish-haskell

    stylish-haskell

    Haskell code prettifier

    A simple Haskell code prettifier. The goal is not to format all of the code in a file since I find that kind of tools often "get in the way". However, manually cleaning up import statements, etc. gets tedious very quickly. This tool tries to help where necessary without getting in the way. Aligns and sorts import statements. Groups and wraps {-# LANGUAGE #-} pragmas, can remove (some) redundant pragmas. Removes trailing whitespace. Aligns branches in case and fields in records. Converts line endings (customizable) Replaces tabs by four spaces (turned off by default) Replaces some ASCII sequences by their Unicode equivalents (turned off by default) Format data constructors and fields in records.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 21
    tetris

    tetris

    A terminal interface for Tetris

    A terminal interface for Tetris. Installation on MacOS and Linux is outlined below. Windows support is questionable, but you can try to install from source. The default game is run by simply executing the tetris command. If the unicode characters look a bit wonky in your terminal, you can also run. People seem to have varying levels of success with the linux binary. Please note that it is compiled dynamically and hence should not be expected to work on most distros. This code is built on top of brick which makes building terminal user interfaces very accessible.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 22
    Neuron

    Neuron

    Future-proof note-taking and publishing based on Zettelkasten

    Neuron is a Zettelkasten-based note-taking system and static site generator built in Haskell. It allows users to manage interlinked notes using plain-text Markdown files, which are automatically rendered into a web-based knowledge base. Neuron supports incremental builds, backlinks, and efficient navigation across linked content, making it ideal for personal knowledge management, digital gardens, and wikis. It emphasizes speed, simplicity, and easy version control with Git.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 23
    Nix Output Monitor

    Nix Output Monitor

    Pipe your nix-build output through the nix-output-monitor

    nix-output-monitor (also known as nom) is a workflow tool that enhances the readability and usability of nix-build output by providing pretty, parsed summaries and highlighting important events during Nix builds. This was an experiment to write something fun and useful in Haskell, which proved to be useful to quite a lot of people. By now, nom is quite fully featured with support for nix v1 commands (e.g. nix-build) and nix v2 commands (e.g. nix build). At this point it seems like I will maintain nom until better UX options for nix arrive. Every entry in the nom tree stands for one derivation. No build will be printed twice in the tree, it will only be shown for the lowermost dependency. Use the colors from above to read the summary.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 24
    PostgREST

    PostgREST

    REST API for any Postgres database

    PostgREST is a standalone web server that turns your PostgreSQL database directly into a RESTful API. The structural constraints and permissions in the database determine the API endpoints and operations. Using PostgREST is an alternative to manual CRUD programming. Custom API servers suffer problems. Writing business logic often duplicates, ignores or hobbles database structure. Object-relational mapping is a leaky abstraction leading to slow imperative code. The PostgREST philosophy establishes a single declarative source of truth: the data itself. It’s easier to ask PostgreSQL to join data for you and let its query planner figure out the details than to loop through rows yourself. It’s easier to assign permissions to db objects than to add guards in controllers. (This is especially true for cascading permissions in data dependencies.) It’s easier to set constraints than to litter code with sanity checks.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 25
    Toodles

    Toodles

    Project management directly from the TODOs in your codebase

    Toodles is a dead-simple, self-hosted web-based to-do list application that scans your codebase for TODO comments and displays them in a clean dashboard. It helps developers keep track of pending work scattered across files, making it easier to manage technical debt and pending improvements.
    Downloads: 4 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 3
  • 4
  • 5
  • Next