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
  • Veeam Data Platform v13.1 Icon
    Veeam Data Platform v13.1

    Move workloads across hypervisors and clouds with no vendor lock-in. Try VDP free today.

    Try Veeam Data Platform today. Experience the unified platform that's secure by design, portable by default, and proven to recover clean, fast, and anywhere.
    Try Now
  • 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: 165 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: 426 This Week
    Last Update:
    See Project
  • 3
    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: 26 This Week
    Last Update:
    See Project
  • 4
    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: 17 This Week
    Last Update:
    See Project
  • Endpoint Management with Remote Control Built In Icon
    Endpoint Management with Remote Control Built In

    Patch, monitor, and connect to Windows and macOS devices from one console

    Save 50% on your first year when you switch from your existing RMM to Splashtop AEM. Automate patching, track inventory, and jump directly into 1-click unattended remote sessions without switching tools.
    Start Free Trial
  • 5
    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: 13 This Week
    Last Update:
    See Project
  • 6
    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: 9 This Week
    Last Update:
    See Project
  • 7
    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: 9 This Week
    Last Update:
    See Project
  • 8
    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: 8 This Week
    Last Update:
    See Project
  • 9
    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: 8 This Week
    Last Update:
    See Project
  • PRTG Catches Network Issues Before They Cause Downtime Icon
    PRTG Catches Network Issues Before They Cause Downtime

    Threshold-based alerts flag problems early, so your team can act before users notice, not after.

    Reactive troubleshooting usually means hearing about a problem from frustrated users, not your monitoring tool. PRTG sets threshold-based alerts across devices, servers and applications, notifying your team by email, SMS or push the moment a metric crosses a set limit. That means catching a failing disk or overloaded server before it becomes an outage and getting time back from firefighting. Start a free trial and set your first alerts today.
    Download 30-Day Trial
  • 10
    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: 8 This Week
    Last Update:
    See Project
  • 11
    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: 8 This Week
    Last Update:
    See Project
  • 12
    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: 7 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: 7 This Week
    Last Update:
    See Project
  • 14
    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: 6 This Week
    Last Update:
    See Project
  • 15
    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: 6 This Week
    Last Update:
    See Project
  • 16
    Unison

    Unison

    A friendly programming language from the future

    Unison is an open source functional programming language based on a simple idea with big implications: code is content-addressed and immutable. Unison’s core idea is that code is immutable and identified by its content. This lets us reimagine many aspects of how a programming language works. We simplify codebase management, Unison has no builds, no dependency conflicts, and renaming things is trivial. The same core idea forms the basis for a runtime that robustly supports dynamic code deployment, allowing a single Unison program to describe entire elastic distributed systems. Though a lot of the work on Unison is still experimental and ongoing, we’re sharing an early alpha release of the language for you to test out. We’ll make a more finished release generally available soon. In the meantime, anyone is welcome to help with alpha testing.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 17
    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
  • 18
    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: 4 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: 4 This Week
    Last Update:
    See Project
  • 20
    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: 3 This Week
    Last Update:
    See Project
  • 21
    Echidna

    Echidna

    Ethereum smart contract fuzzer

    Echidna is a weird creature that eats bugs and is highly electrosensitive (with apologies to Jacob Stanley) More seriously, Echidna is a Haskell program designed for fuzzing/property-based testing of Ethereum smarts contracts. It uses sophisticated grammar-based fuzzing campaigns based on a contract ABI to falsify user-defined predicates or Solidity assertions. We designed Echidna with modularity in mind, so it can be easily extended to include new mutations or test specific contracts in specific cases. Optional corpus collection, mutation and coverage guidance to find deeper bugs. Powered by Slither to extract useful information before the fuzzing campaign. Source code integration to identify which lines are covered after the fuzzing campaign. Curses-based retro UI, text-only or JSON output.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 22
    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
  • 23
    Wire Server

    Wire Server

    Wire back-end services

    Modern day communication meets the most advanced security and superior user experience. Protect your privacy and data like never before. Secure messaging, conferencing, file-sharing and more through end-to-end encryption for cloud, private cloud and On-Premises. All messaging on Wire uses end-to-end encryption (E2EE), giving users a strong degree of privacy and security. Wire is 100% open source with its code available on GitHub, independently audited and ISO, CCPA, GDPR, SOX-compliant. Wire can be deployed on Wire's Cloud, your cloud server, or your own on-premises server and all features can be used across web, mobile, and PC. With Conferencing, you can talk to co-workers, guests, external vendors together in one single place. All files are fully E2EE and are continually stored on a server of choice, without a timeout.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 24
    Archive of Formal Proofs

    Archive of Formal Proofs

    A collection of machine-checkend mathematical proofs

    The Archive of Formal Proofs is a collection of proof libraries, examples, and larger scientifc developments, mechanically checked in the theorem prover Isabelle. It is organized in the way of a scientific journal. Submissions are refereed.
    Downloads: 26 This Week
    Last Update:
    See Project
  • 25
    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: 2 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 3
  • 4
  • 5
  • Next