617 B

35-haskell-monad-chaining

This example shows intermediate Haskell sequencing with monadic Either chains.

It includes:

  • a rollout request parsed from compact CLI input,
  • dependent resolution steps that each need earlier successful results,
  • do notation over Either String for ticket, policy, tag, and approver checks, and
  • a test suite run by nix flake check.

Useful commands:

nix develop
cabal run
cabal run -- api:production:stable:CHG-2048
cabal test

nix build
./result/bin/mini-monad-chain api:production:stable:CHG-2048

nix run . -- api:production:stable:CHG-2048
nix flake check