Open Source Haskell Software - Page 2

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.

  • Collect! is a highly configurable debt collection software Icon
    Collect! is a highly configurable debt collection software

    Everything that matters to debt collection, all in one solution.

    The flexible & scalable debt collection software built to automate your workflow. From startup to enterprise, we have the solution for you.
    Learn More
  • Field Sales+ for MS Dynamics 365 and Salesforce Icon
    Field Sales+ for MS Dynamics 365 and Salesforce

    Maximize your sales performance on the go.

    Bring Dynamics 365 and Salesforce wherever you go with Resco’s solution. With powerful offline features and reliable data syncing, your team can access CRM data on mobile devices anytime, anywhere. This saves time, cuts errors, and speeds up customer visits.
    Learn More
  • 1
    miso

    miso

    A tasty Haskell front-end framework

    Miso is a small, production-ready, "isomorphic" Haskell front-end framework for quickly building highly interactive single-page web applications. It features a virtual-dom, recursive diffing / patching algorithm, attribute and property normalization, event delegation, event batching, SVG, Server-sent events, Websockets, type-safe servant-style routing and an extensible Subscription-based subsystem. Inspired by Elm, Redux and Bobril. Miso is pure by default, but side effects (like XHR) can be introduced into the system via the Effect data type. Miso makes heavy use of the GHCJS FFI and therefore has minimal dependencies. Miso can be considered a shallow embedded domain-specific language for modern web programming.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 2
    Haskell Dockerfile Linter

    Haskell Dockerfile Linter

    Dockerfile linter, validate inline bash, written in Haskell

    A smarter Dockerfile linter that helps you build best practice Docker images. The linter parses the Dockerfile into an AST and performs rules on top of the AST. It stands on the shoulders of ShellCheck to lint the Bash code inside RUN instructions. You can run hadolint locally to lint your Dockerfile. You can download prebuilt binaries for OSX, Windows and Linux from the latest release page. However, if this does not work for you, please fall back to container (Docker), brew or source installation. Configuration files can be used globally or per project.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 3
    Hasktorch

    Hasktorch

    Tensors and neural networks in Haskell

    Hasktorch is a powerful Haskell library for tensor computation and neural network modeling, built on top of libtorch (the backend of PyTorch). It brings differentiable programming, automatic differentiation, and efficient tensor operations into Haskell’s strongly typed functional paradigm. This project is in active development, so expect changes to the library API as it evolves. We would like to invite new users to join our Hasktorch discord space for questions and discussions. Contributions/PR are encouraged. Hasktorch is a library for tensors and neural networks in Haskell. It is an independent open source community project which leverages the core C++ libraries shared by PyTorch.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 4
    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: 7 This Week
    Last Update:
    See Project
  • Failed Payment Recovery for Subscription Businesses Icon
    Failed Payment Recovery for Subscription Businesses

    For subscription companies searching for a failed payment recovery solution to grow revenue, and retain customers.

    FlexPay’s innovative platform uses multiple technologies to achieve the highest number of retained customers, resulting in reduced involuntary churn, longer life span after recovery, and higher revenue. Leading brands like LegalZoom, Hooked on Phonics, and ClinicSense trust FlexPay to recover failed payments, reduce churn, and increase customer lifetime value.
    Learn More
  • 5
    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: 7 This Week
    Last Update:
    See Project
  • 6
    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: 7 This Week
    Last Update:
    See Project
  • 7
    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: 7 This Week
    Last Update:
    See Project
  • 8
    Summoner

    Summoner

    Tool for scaffolding batteries-included production-level Haskell

    Summoner is a tool for scaffolding fully configured batteries-included production-level Haskell projects. Do you want to create a library that is to be uploaded to Hackage/Stackage, that builds with both Cabal and Stack and supports the latest three major GHC versions? Or are you building a production application that uses a custom prelude and has CI with GitHub Actions or Travis Linux and AppVeyors Windows checks? Maybe do you want to play with your idea in a single module without introducing the whole complexity of the Haskell projects. Summoner can help you do all that with minimal effort from you - it can even upload the project to GitHub if you wish! By the way, Summoner operates as either CLI or TUI application, so you can choose what you are more comfortable with and install only the required one.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 9
    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: 7 This Week
    Last Update:
    See Project
  • The AI workplace management platform Icon
    The AI workplace management platform

    Plan smart spaces, connect teams, manage assets, and get insights with the leading AI-powered operating system for the built world.

    By combining AI workflows, predictive intelligence, and automated insights, OfficeSpace gives leaders a complete view of how their spaces are used and how people work. Facilities, IT, HR, and Real Estate teams use OfficeSpace to optimize space utilization, enhance employee experience, and reduce portfolio costs with precision.
    Learn More
  • 10
    koka

    koka

    Koka language compiler and interpreter

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

    IHP

    The fastest way to build type safe web apps

    The Haskell Framework for Non-Haskellers. Blazing fast, secure, easy to refactor and the best developer experience with everything you need, from prototype to production. IHP is a database-centric framework. It comes with an integrated Postgres server out of the box. With Haskell and Nix we use the most reliable technologies available, to make sure your application will never crash because of Null Pointer Exceptions. IHP comes with everything you need to build great web applications out of the box. IHP is a batteries-included web framework, optimized for longterm productivity and programmer happiness. With IHP all your application code is written in Haskell - a functional programming language with an incredible type system, used by giants such as GitHub and Facebook. Thanks to Haskell's impressive type system you can write code that is far more robust than you have seen before.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 14
    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: 6 This Week
    Last Update:
    See Project
  • 15
    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: 6 This Week
    Last Update:
    See Project
  • 16
    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: 6 This Week
    Last Update:
    See Project
  • 17
    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: 6 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: 5 This Week
    Last Update:
    See Project
  • 19
    Greenclip

    Greenclip

    Simple clipboard manager to be integrated with rofi

    Greenclip is a lightweight clipboard manager designed for Wayland and X11 environments on Linux. It integrates seamlessly with Rofi or other application launchers, allowing users to access and paste clipboard history entries quickly. Greenclip stores clipboard content persistently and can be configured to manage how many entries are saved, offering a minimalistic yet effective solution for power users and Linux enthusiasts.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 20
    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
  • 21
    The HaskellR project

    The HaskellR project

    The full power of R in Haskell

    The HaskellR project provides an environment for efficiently processing data using Haskell or R code, interchangeably. HaskellR allows Haskell functions to seamlessly call R functions and vice versa. It provides the Haskell programmer with the full breadth of existing R libraries and extensions for numerical computation, statistical analysis and machine learning. Optionally, pass in the --nix flag to all commands if you have the Nix package manager installed. Nix can populate a local build environment including all necessary system dependencies without touching your global filesystem. Use it as a cross-platform alternative to Docker.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 22
    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: 5 This Week
    Last Update:
    See Project
  • 23
    Yesod

    Yesod

    A RESTful Haskell web framework built on WAI

    Yesod is a high-performance web framework for Haskell focused on enabling productive development of type-safe, RESTful web applications. It leverages Haskell's strong static typing, compile-time safety checks, Template Haskell, and domain-specific quasiquoters to ensure high reliability and performance. Safety & security guaranteed at compile time. Developer productivity: tools for all your basic web development needs. Raw performance, fast, compiled code. Techniques for constant-space memory consumption. Asynchronous IO, this is built in to the Haskell programming language (like Erlang).
    Downloads: 5 This Week
    Last Update:
    See Project
  • 24
    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: 5 This Week
    Last Update:
    See Project
  • 25
    relude

    relude

    Safe, performant, user-friendly and lightweight Haskell library

    relude is a safe, performant, user-friendly and lightweight Haskell standard library. The default Prelude is not perfect and doesn’t always satisfy one’s needs. At this stage, you may want to try an alternative prelude library. relude has some strong goals and principles that it sticks to. That principles define the library's decisions and might tell you more about the priorities of the library. You can be more productive with a “non-standard” standard library, and relude helps you with writing safer and more efficient code faster. Usage of partial functions can lead to unexpected bugs and runtime exceptions in pure code. The types of partial functions lie about their behaviour. And even if it is not always possible to rely only on total functions, relude strives to encourage best-practices and reduce the chances of introducing a bug.
    Downloads: 5 This Week
    Last Update:
    See Project
MongoDB Logo MongoDB