2 repository-uri
Architectural patterns that separate expected business failures from unexpected system defects for distinct recovery strategies.
Distinct from Error Recovery: Candidates describe audio channels or AI model architectures; none address the software error handling channel pattern.
Explore 2 awesome GitHub repositories matching software engineering & architecture · Dual-Channel Error Models. Refine with filters or upvote what's useful.
Cats este o bibliotecă de programare funcțională și type class pentru Scala, concepută pentru a implementa tipare algebrice și abstracțiuni funcționale. Aceasta oferă un set standardizat de interfețe și un toolkit modular de wrapper-e și containere funcționale pentru a permite polimorfismul ad-hoc și programarea generică între tipuri disparate. Proiectul servește drept standard de abstracție funcțională, oferind o suită de monad transformer pentru a compune contexte imbricate cu efecte și a gestiona multiple efecte secundare computaționale într-un singur pipeline. De asemenea, permite construirea de limbaje specifice domeniului (DSL) încorporate prin reprezentarea logicii programului ca structuri de date care sunt interpretate separat de definițiile lor. Biblioteca acoperă domenii largi de capabilități, inclusiv manipularea algebrică a datelor pentru combinarea și reducerea valorilor, gestionarea stării cu tipizare sigură și gestionarea funcțională a erorilor pentru a formaliza acumularea și recuperarea acestora. Oferă, de asemenea, instrumente pentru gestionarea computațiilor cu efecte și extinderea tipurilor de colecții standard cu capabilități funcționale. Biblioteca include mecanisme pentru validarea legilor algebrice, asigurând că instanțele de type class respectă proprietățile matematice.
Provides bifunctor operations to simultaneously transform both success and failure channels of an effect.
ZIO is a functional effect system for the JVM that models asynchronous and concurrent programs as pure, composable values with typed error handling and dependency injection. Its core identity is built on fiber-based concurrency, where lightweight, non-blocking fibers execute millions of concurrent tasks with structured lifecycle management, and a dual-channel error model that separates expected business failures from unexpected system defects at compile time. The system provides effect-typed dependency injection through a layer-based dependency graph, pull-based reactive stream processing with
Expected business failures and unexpected system defects are separated into distinct type channels, enabling compile-time tracking and targeted recovery without exception handling.