awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
Back to typelevel/cats

Open-source alternatives to Cats

30 open-source projects similar to typelevel/cats, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Cats alternative.

  • gcanti/fp-tsgcanti avatar

    gcanti/fp-ts

    11,523View on GitHub↗

    fp-ts is a TypeScript library that brings pure functional programming patterns to the language through algebraic data types, type class abstractions, and composable combinators. It provides foundational data types like Option for optional values, Either for typed error handling, and Task for lazy asynchronous computations, all designed to make invalid states unrepresentable and side effects explicit. The library is built on category theory concepts, offering type classes such as Functor, Applicative, Monad, Semigroup, and Monoid with lawful instances for common data structures. The library di

    TypeScriptalgebraic-data-typesfunctional-programmingtypescript
    View on GitHub↗11,523
  • scalaz/scalazscalaz avatar

    scalaz/scalaz

    4,667View on GitHub↗

    Scalaz is a functional programming library for Scala that provides a collection of purely functional data structures and type classes. It functions as a framework for organizing functional behaviors into hierarchies to enable generic programming and type-safe transformations. The library includes tools for composing and managing nested functional effects within a single type stack through a monad transformer system. It provides data structures for representing and combining input, output, and optionality effects. The project covers a broad surface of functional abstractions, including the im

    Scala
    View on GitHub↗4,667
  • purescript/purescriptpurescript avatar

    purescript/purescript

    8,832View on GitHub↗

    PureScript is a statically typed, purely functional programming language that compiles to JavaScript. It is designed as a cross-platform frontend language for building safe web applications, utilizing a static type system and a JavaScript compiler to ensure program correctness across browser and server environments. The language is distinguished by its emphasis on mathematical purity, featuring a robust type system with first-class support for monads. It provides a sophisticated toolset for static verification, including algebraic data types, type classes, and automatic type inference to reje

    Haskellalt-jshaskelljavascript
    View on GitHub↗8,832

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Find more with AI search
  • arrow-kt/arrowarrow-kt avatar

    arrow-kt/arrow

    6,558View on GitHub↗

    Arrow is a functional programming library for Kotlin that provides tools for implementing data-oriented programming patterns. It serves as a framework for typed error handling, a concurrency toolkit, and a library for the manipulation of immutable data. The project distinguishes itself through specialized capabilities for managing application failures using explicit types instead of exceptions and implementing resilience patterns such as circuit breakers and retry policies for distributed services. It also provides optics to update and query deeply nested immutable data structures without man

    Kotlinarrowcontinuationscoroutines
    View on GitHub↗6,558
  • zio/ziozio avatar

    zio/zio

    4,347View on GitHub↗

    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

    Scalaasynchronicityasynchronousasynchronous-programming
    View on GitHub↗4,347
  • bitemyapp/learnhaskellbitemyapp avatar

    bitemyapp/learnhaskell

    8,026View on GitHub↗

    This project is a comprehensive functional programming curriculum and learning resource for Haskell. It provides sequenced educational paths and technical reference guides designed to take developers from beginner to advanced levels of proficiency. The project distinguishes itself through a deep focus on theoretical and technical foundations, offering detailed studies on type theory, category theory, and runtime internals. It includes a dedicated performance handbook for optimizing execution speed and memory management, as well as an ecosystem guide for managing development tools and editor c

    Makefile
    View on GitHub↗8,026
  • mostlyadequate/mostly-adequate-guideMostlyAdequate avatar

    MostlyAdequate/mostly-adequate-guide

    23,837View on GitHub↗

    This project is a comprehensive educational guide and curriculum for applying functional programming principles and category theory within the JavaScript ecosystem. It provides a structured learning path focused on writing predictable and scalable code through the use of pure functions and immutability. The resource includes a dedicated course on algebraic data structures and a functional programming tutorial. To reinforce theoretical concepts, it features a set of interactive coding exercises and runnable programming challenges for hands-on practice. The materials cover a broad range of fun

    JavaScript
    View on GitHub↗23,837
  • rust-lang/rust-by-examplerust-lang avatar

    rust-lang/rust-by-example

    8,026View on GitHub↗

    This project is an interactive programming education resource and tutorial designed for learning the Rust programming language and systems programming concepts. It provides a collection of runnable and editable code examples that serve as a practical reference for language syntax and implementation. The resource features an interactive code sandbox that allows users to execute and test code snippets in real time. It emphasizes the verification of technical accuracy by executing embedded code blocks during the build process to ensure all examples remain functional. The content covers a compre

    Handlebars
    View on GitHub↗8,026
  • dry-python/returnsdry-python avatar

    dry-python/returns

    4,310View on GitHub↗

    Returns is a functional programming library for Python that provides type-safe containers for managing state, error handling, and optionality. It serves as a monadic container library and a type-safe error handling framework, replacing traditional try-catch blocks and null checks with Result and Optional containers to treat exceptions as data. The project is distinguished by its use of a specialized Mypy static analysis plugin to validate functional pipelines and emulate higher kinded types. It provides mechanisms for isolating side effects through IO containers and offers a framework for typ

    Python
    View on GitHub↗4,310
  • vkhorikov/csharpfunctionalextensionsvkhorikov avatar

    vkhorikov/CSharpFunctionalExtensions

    2,777View on GitHub↗

    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

    C#csharpentityfunctional-programming
    View on GitHub↗2,777
  • supermacro/neverthrowsupermacro avatar

    supermacro/neverthrow

    7,201View on GitHub↗

    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

    TypeScriptfunctional-programmingtypescript
    View on GitHub↗7,201
  • louthy/language-extlouthy avatar

    louthy/language-ext

    7,057View on GitHub↗

    language-ext is a functional programming framework for C# that provides a suite of immutable data structures and monadic types. It enables the implementation of pure functional programming patterns, utilizing containers to manage side effects, optional values, and error handling. The library is distinguished by its advanced concurrency and state management tools, including a software transactional memory system and lock-free atomic references. It also provides specialized utilities for distributed systems, such as vector clocks for causality tracking and deterministic data conflict resolution

    C#
    View on GitHub↗7,057
  • borgo-lang/borgoborgo-lang avatar

    borgo-lang/borgo

    4,640View on GitHub↗

    Borgo is a statically typed language and compiler that transforms high-level syntax into Go source code. It functions as a transpiler designed to leverage the Go runtime while introducing a type system centered on algebraic data types and result-based error handling. The language distinguishes itself by replacing Go's multiple return values with result and option types, using a dedicated operator for concise error propagation. It implements sum types with exhaustive pattern matching and provides a tool to generate bindings for existing Go packages, automatically converting multi-value returns

    Rustcompilergolangprogramming-language
    View on GitHub↗4,640
  • baconjs/bacon.jsbaconjs avatar

    baconjs/bacon.js

    6,458View on GitHub↗

    Bacon.js is a JavaScript functional reactive programming library used for coordinating complex asynchronous data flows. It functions as an observable event stream framework and an asynchronous data flow orchestrator, allowing developers to model events as declarative streams and properties. The library distinguishes itself through its ability to manage reactive state and synchronize timing across multiple sources. It provides specialized mechanisms for atomic state synchronization to prevent glitches in derived properties and offers advanced coordination strategies such as asynchronous stream

    TypeScript
    View on GitHub↗6,458
  • frege/fregeFrege avatar

    Frege/frege

    3,700View on GitHub↗

    Frege is a purely functional programming language that compiles to JVM bytecode, providing Haskell-like semantics for the Java platform. It is built around a Haskell-inspired compiler that implements non-strict evaluation and a static type inference system to ensure data immutability and prevent side effects. The project distinguishes itself through a sophisticated type system featuring rank polymorphism, type-class based dispatch, and static purity enforcement. It includes a JVM language bridge and a foreign function interface that map Java classes and interfaces into functional types, allow

    Frege
    View on GitHub↗3,700
  • zerobias/effectorzerobias avatar

    zerobias/effector

    4,837View on GitHub↗

    Effector is a reactive state management library and data flow orchestrator designed for building complex, event-driven applications. It models application logic as a directed acyclic graph, where state updates and asynchronous side effects propagate automatically through declarative pipelines. By decoupling business logic from user interface layers, it allows developers to maintain state in independent containers that communicate via standard interfaces, ensuring the system remains framework-agnostic. The library distinguishes itself through its robust support for isolated execution scopes, w

    TypeScript
    View on GitHub↗4,837
  • dry-rb/dry-typesdry-rb avatar

    dry-rb/dry-types

    899View on GitHub↗

    This library provides a type system for Ruby applications, offering a framework for defining, validating, and coercing data structures. It serves as a foundation for maintaining data integrity by ensuring that input values conform to established schemas and constraints before they are processed by application logic. The system distinguishes itself through a functional approach to data transformation and validation. It utilizes an immutable registry for type definitions and employs algebraic operators to compose complex, nested schemas from smaller, reusable components. By wrapping validation

    Rubycoercionconstraintsdry-rb
    View on GitHub↗899
  • piotrwitek/react-redux-typescript-guidepiotrwitek avatar

    piotrwitek/react-redux-typescript-guide

    13,292View on GitHub↗

    This project is a technical reference for implementing static typing in applications built with React and Redux. It provides a comprehensive guide for establishing type-safe state management, focusing on the configuration of stores, actions, and reducers using TypeScript type inference and unions. The guide covers architectural patterns for defining props, generic components, and higher-order components with strict type definitions. It also provides methods for managing ambient type configurations and augmenting third-party modules to resolve missing or incorrect TypeScript definitions. The

    TypeScriptflowguideguidelines
    View on GitHub↗13,292
  • angus-c/justangus-c avatar

    angus-c/just

    6,204View on GitHub↗

    Just is a collection of JavaScript utility libraries designed for data manipulation, functional programming, performance optimization, statistical analysis, and string processing. It provides a set of tools for deep cloning, filtering, and transforming complex objects and arrays. The project is structured as a series of zero-dependency modules, allowing utilities to be used independently to minimize bundle size. It implements functional programming patterns including currying, piping, and partial application, and provides execution control through memoization, debouncing, and throttling. The

    JavaScript
    View on GitHub↗6,204
  • dtao/lazy.jsdtao avatar

    dtao/lazy.js

    5,975View on GitHub↗

    Lazy.js is a JavaScript library that implements a lazy evaluation model for processing collections and data streams. It defers all computation until iteration begins, building chains of transformations that execute only when values are consumed, avoiding intermediate arrays and buffering. The library wraps data sources into a uniform sequence interface, enabling operations like map and filter to be chained together without materializing intermediate results. The library extends lazy processing beyond simple collections to handle asynchronous data sources, DOM events, strings, and Node.js stre

    JavaScript
    View on GitHub↗5,975
  • reactivex/rxgoReactiveX avatar

    ReactiveX/RxGo

    5,091View on GitHub↗

    RxGo is a functional reactive programming library and an implementation of ReactiveX for the Go language. It serves as an asynchronous stream processing toolkit designed to coordinate event-based programs and data flows using the observable pattern. The library enables the construction of asynchronous processing pipelines that transform, filter, and combine event sequences. It distinguishes itself through the use of functional operators to compose these pipelines and provides mechanisms for managing concurrent execution. The toolkit covers a broad range of stream orchestration capabilities,

    Goasyncasynchronousconcurrency
    View on GitHub↗5,091
  • thi-ng/umbrellathi-ng avatar

    thi-ng/umbrella

    3,818View on GitHub↗

    Umbrella is a comprehensive ecosystem of TypeScript-based libraries and a mono-repository designed for UI rendering, mathematical frameworks, WebAssembly bridging, and functional data processing. It provides a suite of tools for managing reactive data streams, binary serialization, and specialized memory management. The project includes a reactive component model for generating HTML, SVG, and Canvas elements from nested data structures, as well as a system for integrating JavaScript and WebAssembly through generated bindings. It features a mathematical framework for linear algebra, tensor ope

    TypeScriptcolordata-structuresdsl
    View on GitHub↗3,818
  • gleam-lang/gleamgleam-lang avatar

    gleam-lang/gleam

    21,606View on GitHub↗

    Gleam is a statically typed, functional programming language designed for building scalable and maintainable applications. It operates as a cross-platform development ecosystem that compiles source code to run on the Erlang virtual machine or within JavaScript environments. The language integrates a package manager and build system that automates dependency resolution, project compilation, and the generation of software bills of materials. The language distinguishes itself through a focus on type-driven domain modeling and a robust foreign function interface framework. By encoding business ru

    Rustcompilererlanggleam
    View on GitHub↗21,606
  • hadley/r4dshadley avatar

    hadley/r4ds

    5,070View on GitHub↗

    r4ds is a data science curriculum and educational resource designed for mastering the R programming language. It provides a structured learning path for the end-to-end process of importing, tidying, transforming, and visualizing data. The project emphasizes a reproducible data science guide and a comprehensive curriculum for data wrangling. It includes specialized tutorials on the grammar of graphics for layered data visualization and technical publications created with Quarto that blend executable code with narrative prose. The material covers a broad range of analytical capabilities, inclu

    R
    View on GitHub↗5,070
  • orangeduck/celloorangeduck avatar

    orangeduck/Cello

    7,124View on GitHub↗

    Cello is a programming language extension for C that provides a higher-level implementation of the language. It integrates an object-oriented framework, an automated garbage collection system, and a runtime reflection library to enable dynamic type inspection. The project implements a structured system for object orientation within C, including support for classes, type classes, and polymorphism. It includes a runtime exception handling system to intercept execution errors and initiate recovery procedures. The framework further provides generic programming capabilities for creating reusable

    C
    View on GitHub↗7,124
  • amitshekhariitbhu/fast-android-networkingamitshekhariitbhu avatar

    amitshekhariitbhu/Fast-Android-Networking

    5,906View on GitHub↗

    🚀 A Complete Fast Android Networking Library that also supports HTTP/2 🚀

    Java
    View on GitHub↗5,906
  • leanprover/lean4leanprover avatar

    leanprover/lean4

    8,306View on GitHub↗

    Lean 4 is a functional programming language and interactive proof assistant used to formalize mathematics and verify software correctness. It functions as a dependent type theorem prover and a formal verification tool that allows users to construct mathematical proofs and ensure program correctness. Additionally, it serves as a logic-based source for generating verified datasets used to train and benchmark artificial intelligence reasoning systems. The system distinguishes itself through a small-kernel verification model, where all proofs are verified by a trusted core of basic logical rules.

    Leanleanlean4
    View on GitHub↗8,306
  • jspahrsummers/libextobjcjspahrsummers avatar

    jspahrsummers/libextobjc

    4,500View on GitHub↗

    libextobjc is an Objective-C language extension library and runtime toolset that provides functional programming patterns and advanced dynamism. It functions as a collection of utilities for method injection, class reflection, and static analysis to help prevent runtime crashes. The library enables the generation of algebraic data types at compile-time and provides a mechanism for synthesizing backing instance variables for properties defined within categories. It also implements protocol default behaviors and provides tools for validating key paths and selectors during the compilation proces

    Objective-C
    View on GitHub↗4,500
  • anthonycalandra/modern-cpp-featuresAnthonyCalandra avatar

    AnthonyCalandra/modern-cpp-features

    21,765View on GitHub↗

    This project is a comprehensive collection of reference materials, including a language cheatsheet, a standard library reference, and a concurrency reference. It serves as a guide to modern C++ development, focusing on language syntax, standard library utilities, and template metaprogramming patterns. The repository provides specific guidance on template metaprogramming through a dedicated guide covering compile-time evaluation, type deduction, and variadic template execution. The materials cover a broad range of capabilities, including asynchronous programming, memory management, and system

    cppcpp11cpp14
    View on GitHub↗21,765
  • kotlin-telegram-bot/kotlin-telegram-botkotlin-telegram-bot avatar

    kotlin-telegram-bot/kotlin-telegram-bot

    973View on GitHub↗

    This library is a type-safe Kotlin framework designed for building automated messaging services on the Telegram platform. It provides a comprehensive toolkit for developers to create interactive bots that handle incoming updates, manage chat interactions, and execute automated workflows on the JVM. By abstracting the underlying network communication, the library allows for the development of sophisticated messaging applications using native language features. The framework distinguishes itself through a functional approach to API interaction, utilizing algebraic data types to represent succes

    Kotlinhacktoberfestkotlintelegram
    View on GitHub↗973