26 lines
719 B
Markdown

# 23-haskell-maybe-either
This example shows intermediate Haskell request building with `Maybe` and `Either`.
It includes:
- optional fields read through `Maybe`,
- required fields upgraded from `Maybe` into `Either` errors,
- validation for rollout strategy and canary percentage, and
- a test suite run by `nix flake check`.
Useful commands:
```bash
nix develop
cabal run
cabal run -- service=api env=production replicas=3 strategy=canary canary=10 owner=platform
cabal test
nix build
./result/bin/mini-release-request service=api env=production replicas=3 strategy=canary canary=10 owner=platform
nix run . -- service=api env=production replicas=3 strategy=canary canary=10 owner=platform
nix flake check
```