26 lines
639 B
Markdown
26 lines
639 B
Markdown
# 25-haskell-state
|
|
|
|
This example shows intermediate Haskell planning with `State`.
|
|
|
|
It includes:
|
|
|
|
- a planner state that tracks build numbers and rollout waves,
|
|
- stateful allocation of per-environment wave numbers,
|
|
- a CLI that renders a deployment plan from compact request strings, and
|
|
- a test suite run by `nix flake check`.
|
|
|
|
Useful commands:
|
|
|
|
```bash
|
|
nix develop
|
|
cabal run
|
|
cabal run -- api:production:3 worker:staging:1 cache:production:2
|
|
cabal test
|
|
|
|
nix build
|
|
./result/bin/mini-state-planner api:production:3 worker:staging:1 cache:production:2
|
|
|
|
nix run . -- api:production:3 worker:staging:1 cache:production:2
|
|
nix flake check
|
|
```
|