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
  • MongoDB Atlas runs apps anywhere Icon
    MongoDB Atlas runs apps anywhere

    Deploy in 115+ regions with the modern database for every enterprise.

    MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
    Start Free
  • 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: 145 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: 411 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: 31 This Week
    Last Update:
    See Project
  • 4
    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: 21 This Week
    Last Update:
    See Project
  • Build Securely on AWS with Proven Frameworks Icon
    Build Securely on AWS with Proven Frameworks

    Lay a foundation for success with Tested Reference Architectures developed by Fortinet’s experts. Learn more in this white paper.

    Moving to the cloud brings new challenges. How can you manage a larger attack surface while ensuring great network performance? Turn to Fortinet’s Tested Reference Architectures, blueprints for designing and securing cloud environments built by cybersecurity experts. Learn more and explore use cases in this white paper.
    Download Now
  • 5
    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: 17 This Week
    Last Update:
    See Project
  • 6
    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: 17 This Week
    Last Update:
    See Project
  • 7
    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: 15 This Week
    Last Update:
    See Project
  • 8
    Cardano Node

    Cardano Node

    The core component that is used to participate in a Cardano

    Cardano Node is the core software that powers the Cardano blockchain, a decentralized, proof-of-stake platform for smart contracts and digital assets. Developed in Haskell, the node allows participation in Cardano’s network by validating transactions, producing blocks, and maintaining the ledger. It supports Shelley, Goguen, Basho, and other phases of Cardano’s roadmap, and plays a crucial role in network security and consensus. The node is configurable for different use cases, including running full nodes, relay nodes, or stake pool operators.
    Downloads: 10 This Week
    Last Update:
    See Project
  • 9
    Clash

    Clash

    Haskell to VHDL/Verilog/SystemVerilog compiler

    Clash is a functional hardware description language that borrows both its syntax and semantics from the functional programming language Haskell. It provides a familiar structural design approach to both combinational and synchronous sequential circuits. The Clash compiler transforms these high-level descriptions to low-level synthesizable VHDL, Verilog, or SystemVerilog. Clash is an open-source project, licensed under the permissive BSD2 license, and actively maintained by QBayLogic. The Clash project is a Haskell Foundation affiliated project. Clash is built on Haskell which provides an excellent foundation for well-typed code. Together with Clash's standard library it is easy to build scalable and reusable hardware designs. Load your designs in an interpreter and easily test all your component without needing to setup a test bench. Although Clash offers many features, you sometimes need to directly access VHDL, Verilog, or SystemVerilog directly.
    Downloads: 10 This Week
    Last Update:
    See Project
  • Build Securely on Azure with Proven Frameworks Icon
    Build Securely on Azure with Proven Frameworks

    Lay a foundation for success with Tested Reference Architectures developed by Fortinet’s experts. Learn more in this white paper.

    Moving to the cloud brings new challenges. How can you manage a larger attack surface while ensuring great network performance? Turn to Fortinet’s Tested Reference Architectures, blueprints for designing and securing cloud environments built by cybersecurity experts. Learn more and explore use cases in this white paper.
    Download Now
  • 10
    Tidal

    Tidal

    Pattern language

    Tidal Cycles (or just Tidal for short) is software for making patterns with code, whether live coding music at algoraves or composing in the studio. It includes a simple and flexible notation for rhythmic sequences and an extensive library of patterning functions for combining and transforming them. This allows you to quickly create complex patterns from simple ingredients. By default, sound is made with the featureful SuperDirt synth/sampler, but you can control other synths using Open Sound Control (OSC) or MIDI. Whether you're using SuperDirt or a synth, every filter and effect can be manipulated independently with Tidal patterns. Tidal is embedded in the Haskell language, although you don't have to learn Haskell to learn Tidal. You can learn Tidal through experimentation and play, most Tidal coders have little or no experience in software engineering.
    Downloads: 10 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: 9 This Week
    Last Update:
    See Project
  • 12
    Cryptol

    Cryptol

    Cryptol: The Language of Cryptography

    Cryptol is a domain-specific language (DSL) for specifying and verifying cryptographic algorithms. Developed by Galois, Cryptol provides a high-level mathematical syntax for describing cryptographic primitives and enables formal verification of algorithm properties. It is used in academic, research, and defense sectors to validate correctness and security through symbolic execution and model checking, ensuring critical cryptographic code is free of design flaws.
    Downloads: 9 This Week
    Last Update:
    See Project
  • 13
    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: 9 This Week
    Last Update:
    See Project
  • 14
    pandoc-crossref filter

    pandoc-crossref filter

    Pandoc filter for cross-references

    pandoc-crossref is a pandoc filter for numbering figures, equations, tables and cross-references to them. The input file (like demo.md) can be converted into HTML, LaTeX, PDF, Markdown or other formats. Optionally, you can use cleveref for LaTeX/PDF output, e.g. cleveref PDF, cleveref LaTeX, and listings package, e.g. listings PDF, listings LaTeX. This package tries to use LaTeX labels and references if output type is LaTeX. It also tries to supplement rudimentary LaTeX configuration that should mimic metadata configuration by setting header-includes variable. The easiest option to get pandoc-crossref on Windows, macOS, or Linux, is to download pre-built executables available at the releases page. Bear in mind that those are a product of automated build scripts, and as such, provided as-is, with zero guarantees. Feel free to open issues if those don't work though, I'll try to do what I can.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 15
    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: 7 This Week
    Last Update:
    See Project
  • 16
    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: 7 This Week
    Last Update:
    See Project
  • 17
    Corne keyboard
    crkbd is the firmware and PCB design for the Corne split mechanical keyboard (aka "Corne"), maintained by foostan and the community. It provides QMK/VIA/Vial firmware support, RGB underglow, multiple layouts, and flexible hardware customization.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 18
    Gifcurry

    Gifcurry

    The open-source, Haskell-built video editor for GIF makers

    The open-source, Haskell-built video editor for GIF makers. Gifcurry is the open-source video editor for GIF makers. It's built with Haskell and works on Linux, Mac, and most likely Windows. There is both a graphical and command line interface. Gifcurry edits your GIFs or videos and turns them into videos or GIFs. You can crop, trim, seek, add text, pick a font, alter the duration, change the size, set the FPS, tweak the color count, enable dithering, import subtitles, and save your creation as either a GIF or video. Before you download Gifcurry, make sure your machine has GTK+, GStreamer, FFmpeg, and ImageMagick. Linux users can download the AppImage or the prebuilt binaries. If you'd rather install it, you can do so via pacman (Arch) or snap. If you're really courageous, you can build it from source.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 19
    Wasp

    Wasp

    A programming language that understands what a web app is

    Wasp (Web Application Specification Language) is a declarative DSL (domain-specific language) for developing, building and deploying modern full-stack web apps with less code. Concepts such as app, page, user, login, frontend, production, etc. are baked into the language, bringing a new level of expressiveness and allowing you to get more work done with fewer lines of code. While describing high-level features with Wasp, you still write the rest of your logic in your favorite technologies (currently React, NodeJS, Prisma). Wasp is in alpha and is therefore likely to change a lot, have bugs and miss important features. Due to its expressiveness, you can create and deploy a production-ready web app from scratch with very few lines of concise, consistent, declarative code. When you need more control than Wasp offers, you can write code in existing technologies such as js/html/css/... and combine it with Wasp code!
    Downloads: 5 This Week
    Last Update:
    See Project
  • 20
    elm-format

    elm-format

    elm-format formats Elm source code

    elm-format formats Elm source code according to a standard set of rules based on the official Elm Style Guide. It makes code easier to write, because you never have to worry about minor formatting concerns while powering out new code. It makes code easier to read, because there are no longer distracting minor stylistic differences between different code bases. As such, your brain can map more efficiently from source to mental model. It makes code easier to maintain because you can no longer have diffs related only to formatting; every diff necessarily involves a material change. It saves your team time debating how to format things because there is a standard tool that formats everything the same way. It saves you time because you don't have to nitpick over formatting details of your code.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 21
    hledger

    hledger

    Robust, fast, intuitive plain text accounting tool with CLI

    hledger is fast, reliable, free, multicurrency double-entry accounting software that runs on unix, mac, windows, and the web. With it you can track money, investments, cryptocurrencies, time, or any other quantifiable commodity; with a future-proof plain text file format, version control for your changes, and without needing any cloud service or vendor. Developed continuously since 2007, hledger is licensed under GNU GPLv3+, written in Haskell, and thoroughly tested, with $100 bounties for regressions reported. Currently, three user interfaces are provided out of the box: a powerful command line UI (hledger), a quick terminal UI (hledger-ui), and a simple web UI (hledger-web).
    Downloads: 5 This Week
    Last Update:
    See Project
  • 22
    Agda

    Agda

    Agda is a dependently typed programming language

    Agda is a dependently typed, total functional programming language and interactive theorem prover based on Martin-Löf’s type theory. It allows expressing programs and proofs in the same language, using the Curry–Howard correspondence. It features interactive development via Emacs, Atom, or VS Code. Agda is a dependently typed functional programming language. It has inductive families, i.e., data types which depend on values, such as the type of vectors of a given length. It also has parametrised modules, mixfix operators, Unicode characters, and an interactive Emacs interface which can assist the programmer in writing the program. Agda is a proof assistant. It is an interactive system for writing and checking proofs. Agda is based on intuitionistic type theory, a foundational system for constructive mathematics developed by the Swedish logician Per Martin-Löf. It has many similarities with other proof assistants based on dependent types, such as Coq, Epigram, Matita and NuPRL.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 23
    Creep

    Creep

    a pretty sweet 4px wide pixel font

    A pretty sweet 4px wide pixel font. I never found the pixel font that was perfect for me, so I decided to roll my own with creep. It is a pretty compact (only 4px wide!) font that's great for smaller screens (like my 11" laptop). I'm constantly adding in new characters (diacritics, box-drawing characters, etc.), so I figured I'd put it up on GitHub for people to reap benefits of this. I also recently added some nice Haskell features (that can be used in other languages too)! Creep has most of the basic box drawing characters implemented. Therefore creep usually works with most ncurses-type programs or with tmux window-splitting for example. Creep supports all the symbols needed for Lokaltog's awesome powerline plugin for vim. Creep has the necessary symbols for creating sparklines. This is cool for tools like rainbarf and others. I've added support for a better-looking Haskell syntax. Take a look at the Haskell wiki page to get an idea of how it looks and how to use it in vim.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 24
    LambdaHack

    LambdaHack

    Haskell game engine library for roguelike dungeon crawlers

    Haskell game engine library for roguelike dungeon crawlers. LambdaHack is a Haskell game engine library for ASCII roguelike games of arbitrary theme, size and complexity, with optional tactical squad combat. It's packaged together with a sample dungeon crawler in a quirky fantasy setting. To use the engine, you need to specify the content to be procedurally generated. You declare what the game world is made of (entities, their relations, physics and lore) and the engine builds the world and runs it. The library lets you compile a ready-to-play game binary, using either the supplied or a custom-made main loop. A couple of frontends are available (SDL2 is the default for desktop and there is a JavaScript browser frontend) and many other generic engine components are easily overridden, but the fundamental source of flexibility lies in the strict and enforced with types separation of engine code from the read-only content and of clients (human and AI-controlled) from the server.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 25
    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
  • Previous
  • You're on page 1
  • 2
  • 3
  • 4
  • 5
  • Next