cabal-version: 3.0 name: monad-rail version: 0.1.0.0 synopsis: Railway-oriented error handling for Haskell description: Monad.Rail is a Haskell library for Railway-Oriented Programming (ROP), a functional approach to error handling that makes error paths explicit and composable. The library provides: * 'RailT' - A monad transformer for building reliable applications * Type-safe error handling with support for error accumulation * Automatic JSON serialization of errors for logging and monitoring * The '' operator for combining validations while collecting all errors * Integration with any error type implementing 'HasErrorInfo' Railway-Oriented Programming separates success and failure paths, making it easy to handle both cases explicitly. The '' operator is particularly useful for validation scenarios where you want to report all validation errors at once rather than stopping at the first failure. For more information and examples, see the documentation for "Monad.Rail". license: BSD-3-Clause license-file: LICENSE author: Ismael Carlos Velten maintainer: ismaelcarlosvelten@gmail.com category: Control build-type: Simple extra-doc-files: CHANGELOG.md source-repository head type: git location: https://github.com/ivelten/monad-rail source-repository this type: git location: https://github.com/ivelten/monad-rail tag: v0.1.0.0 common warnings ghc-options: -Wall library import: warnings exposed-modules: Monad.Rail other-modules: Monad.Rail.Error Monad.Rail.Types build-depends: aeson ^>=2.2.3.0, base ^>=4.17 || ^>=4.18 || ^>=4.19 || ^>=4.20, mtl ^>=2.3.1, text ^>=2.1.3, hs-source-dirs: src default-language: Haskell2010 test-suite monad-rail-test import: warnings default-language: Haskell2010 type: exitcode-stdio-1.0 hs-source-dirs: test, src main-is: Main.hs build-tool-depends: hspec-discover:hspec-discover ^>=2.11 other-modules: Monad.Rail.Error Monad.Rail.ErrorSpec Monad.Rail.Types Monad.Rail.TypesSpec Spec build-depends: QuickCheck ^>=2.15, aeson ^>=2.2.3.0, base ^>=4.17 || ^>=4.18 || ^>=4.19 || ^>=4.20, bytestring ^>=0.12, hspec ^>=2.11, monad-rail, mtl ^>=2.3.1, text ^>=2.1.3,