Our great sponsors
-
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.
-
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)
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).
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.
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.
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!)
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.
FWIW, there's also libraries like haskell.nix that solve the caching problem.