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.

  • 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
  • MyQ Print Management Software Icon
    MyQ Print Management Software

    SAVE TIME WITH PERSONALIZED PRINT SOLUTIONS

    Boost your digital or traditional workplace with MyQ’s secure print and scan solutions that respect your time and help you focus on what you do best.
    Learn More
  • 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: 237 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: 443 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: 27 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: 15 This Week
    Last Update:
    See Project
  • $300 in Free Credit Towards Top Cloud Services Icon
    $300 in Free Credit Towards Top Cloud Services

    Build VMs, containers, AI, databases, storage—all in one place.

    Start your project in minutes. After credits run out, 20+ products include free monthly usage. Only pay when you're ready to scale.
    Get Started
  • 5
    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: 15 This Week
    Last Update:
    See Project
  • 6
    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: 8 This Week
    Last Update:
    See Project
  • 7
    erd

    erd

    Translates a plain text description of a relational database schema

    erd is a Haskell-based command-line tool that transforms a plain-text description of a relational database schema into a graphical entity-relationship diagram using common ER conventions. This utility takes a plain text description of entities, their attributes and the relationships between entities and produces a visual diagram modeling the description. The visualization is produced by using Dot with GraphViz. There are limited options for specifying color and font information. Also, erd can output graphs in a variety of formats, including but not limited to: pdf, svg, eps, png, jpg, plain text and dot. In case one wishes to have a statically linked erd as a result, this is possible to have by executing build-static_by-nix.sh: which requires the nix package manager to be installed on the building machine. NixOS itself is not a requirement.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 8
    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
  • 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: 7 This Week
    Last Update:
    See Project
  • Go From AI Idea to AI App Fast Icon
    Go From AI Idea to AI App Fast

    One platform to build, fine-tune, and deploy ML models. No MLOps team required.

    Access Gemini 3 and 200+ models. Build chatbots, agents, or custom models with built-in monitoring and scaling.
    Try Free
  • 10
    GHC (Glasgow Haskell Compiler)

    GHC (Glasgow Haskell Compiler)

    Mirror of the Glasgow Haskell Compiler

    GHC (Glasgow Haskell Compiler) is the leading open-source compiler and interactive environment for the Haskell programming language, supporting the Haskell 2010 standard plus numerous language extensions. It compiles to native machine code (via LLVM or C), and includes the interactive GHCi REPL. For full information on building GHC, see the GHC Building Guide. Here follows a summary - if you get into trouble, the Building Guide has all the answers. For building library documentation, you'll need Haddock. To build the compiler documentation, you need Sphinx and Xelatex (only for PDF output).
    Downloads: 4 This Week
    Last Update:
    See Project
  • 11
    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: 3 This Week
    Last Update:
    See Project
  • 12
    Obelisk

    Obelisk

    Functional reactive web and mobile applications, with batteries

    Functional reactive web and mobile applications, with batteries included. Obelisk's goal is to represent a cohesive, highly-curated set of choices that Obsidian Systems has made for building these types of applications in a way that is extremely fast but does not compromise on production readiness. Obelisk allows you to build high-quality web and mobile applications very quickly using Reflex. In minutes you can go from an empty directory to an interactive application that works on web, iOS, and Android, all sharing the same Haskell codebase! Obelisk's development environment also enables extremely rapid development and feedback. You can take advantage of Haskell's type system across the frontend and backend boundary. This means changes to your backend that would break your frontend are immediately detected during development and vice versa. Obelisk uses Haskell's compiler to give you a complete "TODO list" of what needs to be updated.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 13
    Perspec

    Perspec

    Scriptable desktop app to correct the perspective of images

    App and workflow to perspectively correct images. For example whiteboards, document scans, or facades. Perspec currently only works on macOS and Linux. Any help to make it work on Microsoft (Ticket) would be greatly appreciated! Rescale image on viewport change. Handle JPEG rotation. Draw lines between corners to simplify guessing of clipped corners. Bundle Imagemagick. Better error if the wrong file format is dropped (images/error-message.jpg). Center Perspec window on screen. Drag'n'Drop for corner markers. "Submit" button. "Convert to Grayscale" button. Add support for custom output size (e.g. A4). Manual rotation buttons. Zoom view for corners. Label corner markers.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 14
    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: 3 This Week
    Last Update:
    See Project
  • 15
    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: 3 This Week
    Last Update:
    See Project
  • 16
    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: 3 This Week
    Last Update:
    See Project
  • 17
    dhall-haskell

    dhall-haskell

    Maintainable configuration files

    Maintainable configuration files. Navigate to each package's directory for their respective READMEs. You can download pre-built binaries for Windows, OS X and Linux on the release page. You can then click the "Help" button in the bottom right corner, which will show you a nix-env command that you can run to install the prebuilt executable. You will probably want to use the shared caches hosted at cache.dhall-lang.org and dhall.cachix.org when doing Nix development. This is not required, but this will save you a lot of time so that you don't have to build as many dependencies from scratch the first time. If you prefer installing the binaries locally in a nix shell environment instead, just run nix-shell in the top-level directory. This option provides additional flexibility with respect to overriding some of the default parameters (e.g. the compiler version), which makes it particularly useful for developers.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 18
    Beam

    Beam

    A type-safe, non-TH Haskell SQL library and ORM

    Beam is a Haskell interface to relational databases. Beam uses the Haskell type system to verify that queries are type-safe before sending them to the database server. Queries are written in a straightforward, natural monadic syntax. Combinators are provided for all standard SQL92 features, and a significant subset of SQL99, SQL2003, and SQL2008 features. Beam is standards-compliant but not naive. We recognize that different database backends provide different guarantees, syntaxes, and advantages. To reflect this, Beam maintains a modular design. While the core package provides standard functionality, Beam is split up into a variety of backends which provide a means to interface Beam's data query and update DSLs with particular RDBMS backends. Backends can be written and maintained independently of this repository. For example, the beam-MySQL and beam-firebird backends are packaged independently.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 19
    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: 2 This Week
    Last Update:
    See Project
  • 20
    Plutus

    Plutus

    The Plutus language implementation and tools

    Plutus is the smart contract development framework for the Cardano blockchain, created using Haskell. It provides the core infrastructure for writing, testing, and deploying secure, deterministic smart contracts on the Cardano platform. Plutus includes a custom functional language (Plutus Core), a higher-level embedded DSL (Plutus Tx) for writing contracts in Haskell, and an off-chain infrastructure for managing interactions. It ensures strong correctness guarantees through formal verification and functional programming paradigms.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 21
    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: 2 This Week
    Last Update:
    See Project
  • 22
    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: 2 This Week
    Last Update:
    See Project
  • 23
    MediaWiki To LaTeX converts MediaWiki markup to LaTeX and generates a PDF. So it provides an export from MediaWiki to LaTeX. It works with any project running MediaWiki, especially Wikipedia and Wikibooks.
    Leader badge
    Downloads: 15 This Week
    Last Update:
    See Project
  • 24
    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: 1 This Week
    Last Update:
    See Project
  • 25
    Brick

    Brick

    A declarative Unix terminal UI library written in Haskell

    Brick is a Haskell terminal user interface (TUI) programming toolkit that enables developers to build rich, responsive terminal applications via a declarative model: you define a pure function that renders the UI from application state and supply state transition logic to handle events. brick exposes a declarative API. Unlike most GUI toolkits which require you to write a long and tedious sequence of widget creations and layout setup, brick just requires you to describe your interface using a set of declarative layout combinators. Event-handling is done by pattern-matching on incoming events and updating your application state. Under the hood, this library builds upon vty, so some knowledge of Vty will be necessary to use this library. Brick depends on vty-crossplatform, so Brick should work anywhere Vty works (Unix and Windows). Brick releases prior to 2.0 only support Unix-based systems.
    Downloads: 1 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 3
  • 4
  • 5
  • Next
MongoDB Logo MongoDB