Open Source Haskell Software for Windows

Browse free open source Haskell Software for Windows and projects below. Use the toggles on the left to filter open source Haskell Software for Windows by OS, license, language, programming language, and project status.

  • Try Google Cloud Risk-Free With $300 in Credit Icon
    Try Google Cloud Risk-Free With $300 in Credit

    No hidden charges. No surprise bills. Cancel anytime.

    Use your credit across every product. Compute, storage, AI, analytics. When it runs out, 20+ products stay free. You only pay when you choose to.
    Start Free
  • Gemini 3 and 200+ AI Models on One Platform Icon
    Gemini 3 and 200+ AI Models on One Platform

    Access Google's best plus Claude, Llama, and Gemma. Fine-tune and deploy from one console.

    Build generative AI apps with Vertex AI. Switch between models without switching platforms.
    Start Free
  • 1
    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: 15 This Week
    Last Update:
    See Project
  • 2
    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: 6 This Week
    Last Update:
    See Project
  • 3
    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: 5 This Week
    Last Update:
    See Project
  • 4
    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: 3 This Week
    Last Update:
    See Project
  • 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
  • 5
    Semantic

    Semantic

    Parsing, analyzing, and comparing source code across many languages

    semantic is a Haskell library and command line tool for parsing, analyzing, and comparing source code. Run semantic --help for complete list of up-to-date options. Semantic uses tree-sitter to generate parse trees, but layers in a more generalized notion of syntax terms across all supported programming languages. We'll see why this is important when we get to diffs and program analysis, but for now let's just inspect some output. It helps to have a simple program to parse. Symbols are named identifiers driven by the ASTs. This is the format that github.com uses to generate code navigation information allowing c-tags style lookup of symbolic names for fast, incremental navigation in all the supported languages. The incremental part is important because files change often so we want to be able to parse just what's changed and not have to analyze the entire project again.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 6
    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: 1 This Week
    Last Update:
    See Project
  • 7
    Kitten

    Kitten

    A statically typed concatenative systems programming language

    Kitten is an experimental, concatenative programming language that blends Forth/Joy-style stack programming with modern static typing and effect tracking. Programs are composed by chaining small words that transform a typed stack, and the compiler uses type inference to ensure compositions are valid. The language explores disciplined handling of side effects, aiming to separate pure transformations from operations that perform I/O or mutate state. Its design encourages small, reusable building blocks that compose cleanly, while still permitting low-level control where performance matters. The implementation targets efficient compiled code and investigates how advanced type systems can improve reliability in a stack-based language. As a research project, Kitten serves both as a language to experiment with and as a vehicle for ideas about safety and structure in concatenative programming.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 8
    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: 1 This Week
    Last Update:
    See Project
  • 9
    PureScript

    PureScript

    A strongly-typed language that compiles to JavaScript

    Compile to readable JavaScript and reuse existing JavaScript code easily. An extensive collection of libraries for development of web applications, web servers, apps and more. Excellent tooling and editor support with instant rebuilds. An active community with many learning resources. Build real-world applications using functional techniques and expressive types, such as: Algebraic data types and pattern matching. Row polymorphism and extensible records. Higher kinded types and type classes with functional dependencies, as well as higher-rank polymorphism. Precompiled binaries are available for OSX, Linux, and Windows. The Pursuit package database hosts searchable documentation for PureScript packages. The recommended build tool for PureScript is Spago, which can be installed using npm.
    Downloads: 1 This Week
    Last Update:
    See Project
  • Add Two Lines of Code. Get Full APM. Icon
    Add Two Lines of Code. Get Full APM.

    AppSignal installs in minutes and auto-configures dashboards, alerts, and error tracking.

    Works out of the box for Rails, Django, Express, Phoenix, and more. Monitoring exceptions and performance in no time.
    Start Free
  • 10
    niv

    niv

    Easy dependency management for Nix projects

    Niv is a tool designed for managing dependencies in Nix projects. It simplifies adding, updating, and removing package sources via a single nix/sources.json file, improving reproducibility and version control in Nix-based workflows. niv simplifies adding and updating dependencies in Nix projects. It uses a single file, nix/sources.json, where it stores the data necessary for fetching and updating the packages. Nix is a very powerful tool for building code and setting up environments. niv complements it by making it easy to describe and update remote dependencies (URLs, GitHub repos, etc). It is a simple, practical alternative to Nix flakes. The add command will infer information about the package being added, when possible. This works very well for GitHub repositories. Run this command to add jq to your project.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 11
    Agda is a system for incrementally developing proofs and programs. This is the sourceforge project for the PREVIOUS Agda (Agda 1). A newer version of Agda (Agda 2) in beta testing is available from: http://wiki.portal.chalmers.se/agda/
    Downloads: 4 This Week
    Last Update:
    See Project
  • 12
    Accelerate

    Accelerate

    Embedded language for high-performance array computations

    Data.Array.Accelerate defines an embedded language of array computations for high-performance computing in Haskell. Computations on multi-dimensional, regular arrays are expressed in the form of parameterized collective operations (such as maps, reductions, and permutations). These computations are online-compiled and executed on a range of architectures. Accelerate is a free, general-purpose, open-source library that simplifies the process of developing software that targets massively parallel architectures including multicore CPUs and GPUs. Embedded in the advanced functional programming language Haskell, Accelerate programs are declarative, statically-typed, pure, functional, and ready to exploit all of the performance of modern parallel hardware. The combination of a strong type system, high-level code, and interactive development environment, allows you to develop code quickly with the confidence that it is correct.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 13
    Algebraic graphs

    Algebraic graphs

    Algebraic graphs

    Alga is a library for algebraic construction and manipulation of graphs in Haskell. See this Haskell Symposium paper and the corresponding talk for the motivation behind the library, the underlying theory and implementation details. We can give semantics to the constructors in terms of the pair (V, E) of graph vertices and edges. Alga can handle graphs comprising millions of vertices and billions of edges in a matter of seconds, which is fast enough for many applications. We believe there is a lot of potential for improving the performance of the library, and this is one of our top priorities. If you come across a performance issue when using the library, please let us know.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 14
    Amazonka

    Amazonka

    A comprehensive Amazon Web Services SDK for Haskell

    An Amazon Web Services SDK for Haskell with support for most public services. Parts of the code contained in this repository are auto-generated and automatically kept up to date with Amazon's latest service APIs. You can find the latest Haddock documentation for each respective library on the Amazonka website. A release changelog can be found in lib/amazonka/CHANGELOG.md. The AWS service descriptions are licensed under Apache 2.0. Source files derived from the service descriptions contain an additional licensing clause in their header. GHC versions 8.8.4 and 8.10.7 are officially supported and tested on NixOS, Ubuntu, and macOS. GHC 8.6.5 may also work, but is not tested by our continuous integration pipeline. The Nix package manager is used to obtain and build the other dependencies in a hermetic environment.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 15
    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: 0 This Week
    Last Update:
    See Project
  • 16
    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: 0 This Week
    Last Update:
    See Project
  • 17
    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: 0 This Week
    Last Update:
    See Project
  • 18
    Dapp tools by DappHub

    Dapp tools by DappHub

    Dapp, Seth, Hevm, and more

    Command line tools and smart contract libraries for Ethereum smart contract development. All you need Ethereum development tool. Build, test, fuzz, formally verify, debug & deploy solidity contracts. Ethereum CLI. Query contracts, send transactions, follow logs, slice & dice data. Testing-oriented EVM implementation. Debug, fuzz, or symbolically execute code against local or mainnet state. Sign Ethereum transactions from a local keystore or hardware wallet. dapptools is currently in a stage of clandestine development where support for the casual user may be deprived. The software can now be considered free as in free puppy. Users seeking guidance can explore using foundry as an alternative. This repository contains the source code for several programs hand-crafted and maintained by DappHub, along with dependency management, courtesy of Nix.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 19
    Duckling

    Duckling

    Language, engine, and tooling for testing composable language rules

    Duckling is a Haskell library developed by Facebook for parsing and normalizing natural language expressions into structured data. It supports a wide range of entities such as dates, times, durations, distances, temperatures, numbers, and currencies. Designed for use in conversational agents, chatbots, and natural language processing applications, Duckling converts fuzzy user input into a consistent and machine-readable format. It features multi-language support and is widely used in production environments requiring robust entity extraction.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 20
    Here we have fun developing software related to embedded extension languages and small languages in many application domains, using existing languages and/or creating new ones.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 21
    Fission ipfs

    Fission ipfs

    Fission CLI & server

    Seamlessly deploy websites and store secure user data. Fission is built inside of a pure Nix shell via the Stack integration. This means that you should only need to type stack build to do a complete build of all packages. If you're using a nix shell, you can use cachix to prevent re-building dependencies.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 22
    GHCJS

    GHCJS

    Haskell to JavaScript compiler, based on GHC

    GHCJS is a Haskell-to-JavaScript compiler that reuses GHC’s front end to compile Haskell source into JavaScript for execution in browsers and Node.js. It aims to preserve Haskell’s semantics—including laziness and rich types—by shipping a small runtime and shims for core libraries. Developers write normal Haskell, use Cabal/Stack to build, then bundle the generated JavaScript alongside required support code. Interoperability with the JavaScript world is provided through a foreign-function interface, allowing Haskell code to call browser APIs or Node modules and to be called back from JS. The ecosystem includes packages tailored to GHCJS (for example DOM bindings and FRP libraries), enabling full single-page apps written in Haskell. Because it mirrors GHC closely, many pure Haskell libraries “just work,” making it practical to share code between server and client.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 23
    GHCid

    GHCid

    Very low feature GHCi based IDE

    ghcid is a minimalist development tool for Haskell that runs GHCi as a daemon, watches source files for changes, reloads automatically, and shows compile errors instantly—providing a tight edit-feedback loop. In general, to use ghcid, you first need to get ghci working well for you. In particular, craft a command line or .ghci file such that when you start ghci it has loaded all the files you care about (check :show modules). If you want to use --test check that whatever expression you want to use works in that ghci session. Getting ghci started properly is one of the hardest things of using ghcid, and while ghcid has a lot of defaults for common cases, it doesn't always work out of the box. Expressions that read from standard input are likely to hang, given that Ghcid already uses the standard input to interact with Ghci.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 24
    HLearn

    HLearn

    Homomorphic machine learning

    HLearn is a Haskell-based machine learning library focused on composability, algebraic structure, and performance. It provides a functional approach to building machine learning algorithms by leveraging algebraic properties such as monoids and groups. This allows for parallel, incremental, and distributed computation in a mathematically consistent way. HLearn aims to provide implementations of common algorithms like k-means, naive Bayes, and others while maintaining the expressiveness and safety of the Haskell language.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 25
    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: 0 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • Next
MongoDB Logo MongoDB