1 dépôt
Higher-order functions that merge multiple functions targeting the same output into one handling a union of inputs.
Distinct from Function Combinators: Specifically targets the union of disparate input types converging on one output, unlike general function combinators.
Explore 1 awesome GitHub repository matching software engineering & architecture · Divergent Path Combinators. Refine with filters or upvote what's useful.
Cats est une bibliothèque de programmation fonctionnelle et de classes de types pour Scala, conçue pour implémenter des patterns algébriques et des abstractions fonctionnelles. Elle fournit un ensemble standardisé d'interfaces et une boîte à outils modulaire de wrappers et conteneurs fonctionnels pour permettre le polymorphisme ad-hoc et la programmation générique sur des types disparates. Le projet sert de standard d'abstraction fonctionnelle, offrant une suite de transformateurs de monades pour composer des contextes à effets imbriqués et gérer de multiples effets de bord computationnels au sein d'un pipeline unique. Il permet en outre la construction de langages dédiés (DSL) embarqués en représentant la logique du programme sous forme de structures de données interprétées séparément de leurs définitions. La bibliothèque couvre de larges domaines de capacités, incluant la manipulation de données algébriques pour combiner et réduire des valeurs, la gestion d'état typée, et la gestion fonctionnelle des erreurs pour formaliser l'accumulation et la récupération d'erreurs. Elle fournit également des outils pour la gestion de calculs à effets et l'extension des types de collection standard avec des capacités fonctionnelles. La bibliothèque inclut des mécanismes de validation des lois algébriques pour garantir que les instances de classes de types respectent les propriétés mathématiques.
Implements function combinators that handle a union of inputs targeting a single output type.