Simple GHC stack for a novice

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

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • 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.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • 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

    Change-aware static site generator for Haskell programmers

  • 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 https://reflex-frp.org, 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