[go: up one dir, main page]

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
  • Dominate AI Search Results Icon
    Dominate AI Search Results

    Generative Al is shaping brand discovery. AthenaHQ ensures your brand leads the conversation.

    AthenaHQ is a cutting-edge platform for Generative Engine Optimization (GEO), designed to help brands optimize their visibility and performance across AI-driven search platforms like ChatGPT, Google AI, and more.
    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: 265 This Week
    Last Update:
    See Project
  • 2
    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: 85 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: 53 This Week
    Last Update:
    See Project
  • 4
    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: 396 This Week
    Last Update:
    See Project
  • Yeastar: Business Phone System and Unified Communications Icon
    Yeastar: Business Phone System and Unified Communications

    Go beyond just a PBX with all communications integrated as one.

    User-friendly, optimized, and scalable, the Yeastar P-Series Phone System redefines business connectivity by bringing together calling, meetings, omnichannel messaging, and integrations in one simple platform—removing the limitations of distance, platforms, and systems.
    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: 18 This Week
    Last Update:
    See Project
  • 6
    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: 12 This Week
    Last Update:
    See Project
  • 7
    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: 10 This Week
    Last Update:
    See Project
  • 8
    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: 10 This Week
    Last Update:
    See Project
  • 9
    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: 9 This Week
    Last Update:
    See Project
  • AI-based, Comprehensive Service Management for Businesses and IT Providers Icon
    AI-based, Comprehensive Service Management for Businesses and IT Providers

    Modular solutions for change management, asset management and more

    ChangeGear provides IT staff with the functions required to manage everything from ticketing to incident, change and asset management and more. ChangeGear includes a virtual agent, self-service portals and AI-based features to support analyst and end user productivity.
    Learn More
  • 10
    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: 8 This Week
    Last Update:
    See Project
  • 11
    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
  • 12
    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: 8 This Week
    Last Update:
    See Project
  • 13
    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
  • 14
    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: 7 This Week
    Last Update:
    See Project
  • 15
    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: 7 This Week
    Last Update:
    See Project
  • 16
    Yampa

    Yampa

    Functional Reactive Programming domain-specific language

    Yampa is a Functional Reactive Programming (FRP) library for Haskell, specifically designed for modeling hybrid systems that involve both continuous and discrete time behaviors, such as games, simulations, robotics, and reactive systems. Based on the concept of signal functions, Yampa offers a declarative way to model time-varying values and their transformations, making it easier to manage complex time-based logic without resorting to imperative state management. It is grounded in strong mathematical foundations and is well-suited for real-time and interactive systems where temporal behaviors are central.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 17
    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: 7 This Week
    Last Update:
    See Project
  • 18
    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: 6 This Week
    Last Update:
    See Project
  • 19
    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: 6 This Week
    Last Update:
    See Project
  • 20
    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: 6 This Week
    Last Update:
    See Project
  • 21
    patat

    patat

    Terminal-based presentations using Pandoc

    patat (Presentations Atop The ANSI Terminal) is a small tool that allows you to show presentations using only an ANSI terminal. It does not require ncurses. Leverages the great Pandoc library to support many input formats including Literate Haskell. Supports smart slide splitting. Slides can be split up into multiple fragments. There is a live reload mode. Theming support including 24-bit RGB. Auto advancing with configurable delay. Optionally re-wrapping text to terminal width with proper indentation. Syntax highlighting for nearly one hundred languages generated from Kate syntax files. Experimental images support. Supports evaluating code snippets and showing the result. Written in Haskell.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 22
    HLint

    HLint

    Haskell source code suggestions

    HLint is a linter for Haskell that suggests stylistic improvements and potential simplifications in Haskell code. It parses Haskell source files and provides hints to refactor code for better readability, maintainability, or performance. HLint is highly configurable and supports custom rules, integrations with CI tools, and editor plugins. It is widely used in the Haskell ecosystem for maintaining consistent code standards.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 23
    Reflex

    Reflex

    Interactive programs without callbacks or side-effects

    Reflex apps automatically react to changing data. This keeps every interaction current, accurately representing the relationship between your data and the real world. Reflex components are modular and reusable. If your requirements change, your app can quickly and easily be reworked. The modularity of Reflex lets you iterate quickly, without wasting code. Reflex has been built to seamlessly support interfaces on desktop, mobile, web, and other platforms, all in Haskell. Regardless of your platform needs, Reflex lets you take your team and your code with you. Reflex is the key to writing self-updating user interfaces. Develop efficiently no matter how many times you pivot. One team, one code base, every platform. You don’t have to choose between building quickly or sustainably anymore. Reflex-FRP allows you to write production quality code from the get-go, with less technical debt.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 24
    Rome

    Rome

    Carthage cache for S3, Minio, Ceph, Google Storage, Artifactory, etc.

    Carthage cache for S3, Minio, Ceph, Google Storage, Artifactory and many others. Rome is a tool that allows developers on Apple platforms to use Amazon's S3, Minio, Ceph, other S3-compatible object stores or/and a local folder. The Rome binary is also attached as a zip to each release on the releases page here on GitHub. Suppose you're working a number of frameworks for your project and want to share those with your team. A great way to do so is to use Carthage and have team members point the Cartfile to the new framework version (or branch, tag, commit) and run Carthage update. Unfortunately, this will require them to build from scratch a new framework. This is particularly annoying if the dependency tree for that framework is big and/or takes a long time to build. Use a cache. The first team member (or a CI) can build the framework and share it, while all other developers can get it from the cache with no waiting time.
    Downloads: 5 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: 5 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 3
  • 4
  • 5
  • Next