Simply typed lambda calculus with inductive types.
.github | ||
.vscode | ||
nix/modules/flake-parts | ||
src | ||
.envrc | ||
.gitattributes | ||
.gitignore | ||
.hlint.yaml | ||
flake.lock | ||
flake.nix | ||
hie.yaml | ||
inductive-lambda.cabal | ||
justfile | ||
LICENSE | ||
README.md |
inductive-lambda
Get a Haskell development environment up and running quickly. Thanks to Nix, this template is optimized for a fully reproducible and friendly development environment. It is based on:
- Nix + Flakes (via
github:srid/haskell-flake
) + GHC 9.6 - VSCode + HLS
- fourmolu autoformatting
- Relude as Prelude.
.hlint.yaml
is from relude
- Devshell commands are provided via just; run
just
in devshell.
If you have an existing Haskell project, you should probably use https://github.com/srid/haskell-flake instead.
Getting Started
Initialize this template using:
nix --accept-flake-config run github:juspay/omnix -- \
init github:srid/inductive-lambda -o ./yourproject
tldr: Install Nix, setup direnv, open in VSCode, install recommended extensions and run just run
.
Full instructions: https://srid.ca/inductive-lambda/start
Recommended dev environment setup: https://nixos.asia/en/direnv
Tips
- Run
nix flake update
to update all flake inputs. - Run
nix --accept-flake-config run github:juspay/omnix ci
to build all outputs. - Run
just fmt
in nix shell to autoformat the project. This uses treefmt. - Run
just docs
to start Hoogle with packages in your cabal file. - Run the application without installing:
nix run github:srid/inductive-lambda
(ornix run .
from checkout) - Common workflows
- Adding library dependencies in Nix: https://community.flake.parts/haskell-flake/dependency
- Adding tests: https://srid.ca/inductive-lambda/tests
Discussions
Questions? Ideas? Suggestions? Join our NixOS Zulip or post in Github Discussions.