3 dépôts
A functional design pattern where operations follow a success track or diverge to an error track.
Distinguishing note: Candidates are completely unrelated (railway tickets or security exploits).
Explore 3 awesome GitHub repositories matching software engineering & architecture · Railway Oriented Programming. Refine with filters or upvote what's useful.
neverthrow is a TypeScript result type library that implements railway oriented programming. It provides a functional error handling framework using type-safe wrappers to represent operation outcomes as either success or failure variants, eliminating the need to throw exceptions. The library features adapters that convert throwing functions and asynchronous promises into typed result objects. This allows asynchronous rejections and unsafe code to be handled as explicit return values rather than uncaught exceptions. The framework covers a broad range of functional computation capabilities, in
Implements a pipeline pattern where operations either continue on a success track or diverge to an error track.
Returns est une bibliothèque de programmation fonctionnelle pour Python qui fournit des conteneurs typés pour gérer l'état, la gestion d'erreurs et l'optionalité. Elle sert de bibliothèque de conteneurs monadiques et de framework de gestion d'erreurs typé, remplaçant les blocs try-catch traditionnels et les vérifications de nullité par des conteneurs Result et Optional pour traiter les exceptions comme des données. Le projet se distingue par son utilisation d'un plugin d'analyse statique Mypy spécialisé pour valider les pipelines fonctionnels et émuler des types d'ordre supérieur. Il fournit des mécanismes pour isoler les effets de bord via des conteneurs IO et offre un framework pour l'injection de dépendances typée qui diffère la fourniture des dépendances jusqu'à l'exécution finale d'un calcul. La bibliothèque couvre un large éventail de primitives fonctionnelles, incluant le currying, l'application partielle et la composition de pipelines de données déclaratifs. Elle prend en charge la gestion de workflow asynchrone en enveloppant les coroutines dans des conteneurs pour enchaîner des opérations non bloquantes et inclut des utilitaires pour la gestion du cycle de vie des ressources et la vérification des lois algébriques pour les conteneurs personnalisés.
Implements railway oriented programming patterns to manage separate success and failure tracks.
CSharpFunctionalExtensions is a functional programming library for C# that provides a framework of monadic containers, pipeline orchestration tools, and immutable domain object patterns. It implements the result pattern to handle operation success and failure as values, reducing the reliance on exceptions for control flow. The library enables railway-oriented programming by chaining multiple operations into sequences that execute only upon the success of previous steps. It provides specialized wrappers for optional and result types to minimize null checks and nested conditional logic, alongsi
Implements the railway-oriented programming pattern to chain operations into success and failure tracks.