Simple GHC stack for a novice

This page summarizes the projects mentioned and recommended in the original post on

Our great sponsors
  • InfluxDB - Access the most powerful time series database as a service
  • SonarLint - Clean code begins in your IDE with SonarLint
  • ONLYOFFICE ONLYOFFICE Docs — document collaboration in your environment
  • haskell-template

    Haskell project template using Nix + Flakes + VSCode (HLS)

    If you wanna get started with Haskell on Nix, check out Sridhar Ratnakumar's Haskell template for Nix. You can easily clone the repo and move your Haskell code into it, especially if you're still a novice (as you likely won't be dealing with a HUGE codebase).

  • nix

    Nix, the purely functional package manager

    Instead of having to deal with the whole Haskell toolchain, I suggest you consider using Nix, which has a lot of advantages. Take a look at the "Getting Started" page until you can sell yourself on using Nix across your codebase.

  • InfluxDB

    Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.

  • haskell-flake

    A `flake-parts` Nix module for Haskell development

    Besides, the template I provided already sets everything you need up for you; it's a bit opinionated about which tools to use, but the underlying haskell-flake repo is much more minimalist.

  • ema

    Haskell static site generator that is change-aware

    You can baptize yourself by either moving a sufficiently complex Haskell codebase to Nix or building a website using something like Ema (with full Nix+Flakes support!)

  • reflex

    Interactive programs without callbacks or side-effects. Functional Reactive Programming (FRP) uses composable events and time-varying values to describe interactive systems as pure functions. Just like other pure functional code, functional reactive code is easier to get right on the first try, maintain, and reuse. (by reflex-frp)

    Once someone has spent a bunch of time with Haskell and sees the value, they will find Nix if it makes sense. Maybe they'll want to play with, or they'll discover they want a better way to package 3rd-party dependencies, or they start using NixOS and want to nix all the things, etc. etc. Or, maybe they'll never find a use for it, and that's okay.

  • haskell.nix

    Alternative Haskell Infrastructure for Nixpkgs

    FWIW, there's also libraries like haskell.nix that solve the caching problem.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts