awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

18 Repos

Awesome GitHub RepositoriesType Classes

Sets of functions defining shared behavior for different data types, implementing mathematical patterns.

Distinct from Abstract Data Types: Specifically refers to the type-class pattern for generic behaviors, distinct from general abstract data type definitions.

Explore 18 awesome GitHub repositories matching software engineering & architecture · Type Classes. Refine with filters or upvote what's useful.

Awesome Type Classes GitHub Repositories

Finde die besten Repos mit KI.Wir suchen mit KI nach den am besten passenden Repositories.
  • mostlyadequate/mostly-adequate-guideAvatar von MostlyAdequate

    MostlyAdequate/mostly-adequate-guide

    23,837Auf GitHub ansehen↗

    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

    Covers the implementation of generic mathematical patterns through the definition of type classes.

    JavaScript
    Auf GitHub ansehen↗23,837
  • gcanti/fp-tsAvatar von gcanti

    gcanti/fp-ts

    11,523Auf GitHub ansehen↗

    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

    Provides category-theory-based type classes like Functor, Applicative, and Monad.

    TypeScriptalgebraic-data-typesfunctional-programmingtypescript
    Auf GitHub ansehen↗11,523
  • checkstyle/checkstyleAvatar von checkstyle

    checkstyle/checkstyle

    8,867Auf GitHub ansehen↗

    Checkstyle is a Java static analysis tool and linter designed to identify and enforce coding standards and best practices. It functions as a code quality auditor and Javadoc validation tool, checking source code against configurable rulesets to ensure structural and stylistic consistency. The project allows for the creation of custom linting rules by extending a core API to inspect the abstract syntax tree. It further enables specialized validation through the use of XPath expressions to query the syntax tree for specific code patterns and violations. Capability areas include the enforcement

    CheckCstyle calculates the number of distinct classes instantiated within a type to identify excessive complexity.

    Javacode-qualitycommand-line-toolhacktoberfest
    Auf GitHub ansehen↗8,867
  • purescript/purescriptAvatar von purescript

    purescript/purescript

    8,832Auf GitHub ansehen↗

    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

    Provides type classes to define shared interfaces and generic abstractions for different data types.

    Haskellalt-jshaskelljavascript
    Auf GitHub ansehen↗8,832
  • bitemyapp/learnhaskellAvatar von bitemyapp

    bitemyapp/learnhaskell

    8,026Auf GitHub ansehen↗

    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

    Covers the implementation of fundamental type classes like Functor and Monad based on category theory.

    Makefile
    Auf GitHub ansehen↗8,026
  • orangeduck/celloAvatar von orangeduck

    orangeduck/Cello

    7,124Auf GitHub ansehen↗

    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

    Implements type classes to define shared interfaces and consistent behavior across different data types.

    C
    Auf GitHub ansehen↗7,124
  • kevinmusgrave/pytorch-metric-learningAvatar von KevinMusgrave

    KevinMusgrave/pytorch-metric-learning

    6,328Auf GitHub ansehen↗

    PyTorch Metric Learning is an open-source library for training neural networks to produce similarity-preserving embedding spaces. It provides a modular framework where interchangeable loss functions, mining strategies, and evaluation tools can be composed to learn representations that map similar items to nearby points and dissimilar items to distant points in the embedding space. The library distinguishes itself through a highly configurable architecture that separates concerns across several interchangeable components. Users can assemble custom loss functions from pluggable distance metrics

    Penalizes class vectors that are too close together to improve class separation in the embedding space.

    Pythoncomputer-visioncontrastive-learningdeep-learning
    Auf GitHub ansehen↗6,328
  • stubbornella/oocssAvatar von stubbornella

    stubbornella/oocss

    6,192Auf GitHub ansehen↗

    Object-Oriented CSS (OOCSS) is a CSS methodology and framework that structures stylesheets around reusable, composable classes. Its core principle is separating layout and structure from visual design, allowing the same structural classes to work with different visual treatments. The approach encourages styling elements based on their own properties rather than their location in the DOM, making components portable across different contexts. The methodology is built on class composition, where complex visual patterns are created by combining multiple single-purpose CSS classes on a single elem

    Defines a consistent naming system for CSS classes to ensure predictability and avoid specificity conflicts.

    JavaScript
    Auf GitHub ansehen↗6,192
  • jakiestfu/snap.jsAvatar von jakiestfu

    jakiestfu/Snap.js

    5,952Auf GitHub ansehen↗

    Snap.js is a JavaScript library for building draggable side navigation panels on touch devices. It enables slide-in menus from the left or right screen edge, driven by a gesture-based state machine that interprets drag and flick gestures to open and close the panel. The library distinguishes horizontal menu drags from vertical scrolling by analyzing the initial touch movement angle, and locks menu movement to a single axis to prevent interference. It uses hardware-accelerated CSS transforms for smooth animations and provides configurable snap thresholds that determine whether a drag should op

    Adds custom CSS class names to menu elements to match existing design systems and styling conventions.

    JavaScript
    Auf GitHub ansehen↗5,952
  • basscss/basscssAvatar von basscss

    basscss/basscss

    5,892Auf GitHub ansehen↗

    Basscss is a lightweight CSS utility toolkit built on an atomic, single-purpose class architecture. Each class performs exactly one visual function, enabling immutable, side-effect-free styling where no class ever overrides or conflicts with another. The system provides a predefined spacing scale, responsive breakpoint prefixes for conditional styling across device widths, and accessible visibility control that keeps content programmatically available to assistive technologies. The framework distinguishes itself through a float-based grid system that constructs layouts using floated percentag

    Defines a single-purpose class architecture where each CSS class performs exactly one visual function.

    CSS
    Auf GitHub ansehen↗5,892
  • dcastil/tailwind-mergeAvatar von dcastil

    dcastil/tailwind-merge

    5,648Auf GitHub ansehen↗

    tailwind-merge is a utility library that resolves conflicting Tailwind CSS class strings when combining multiple sets of classes. It automatically detects and removes conflicting utility classes, keeping only the last class from each group that modifies the same CSS property, while preserving non-conflicting and non-Tailwind classes unchanged. The library handles complex conflict scenarios including modifier-order resolution, arbitrary value type detection, postfix modifier semantics, and asymmetric conflicts where one class group removes preceding classes from other groups but not vice versa

    Implements heuristics to correctly resolve Tailwind class names containing slashes that are not modifiers.

    TypeScriptcsstailwindcssutility-classes
    Auf GitHub ansehen↗5,648
  • typelevel/catsAvatar von typelevel

    typelevel/cats

    5,447Auf GitHub ansehen↗

    Cats ist eine funktionale Programmierbibliothek für Scala und eine Typklassen-Bibliothek, die darauf ausgelegt ist, algebraische Muster und funktionale Abstraktionen zu implementieren. Sie bietet einen standardisierten Satz an Schnittstellen und ein modulares Toolkit aus funktionalen Wrappern und Containern, um Ad-hoc-Polymorphismus und generische Programmierung über unterschiedliche Typen hinweg zu ermöglichen. Das Projekt dient als Standard für funktionale Abstraktion und bietet eine Monad-Transformer-Suite zur Komposition verschachtelter, effektbehafteter Kontexte und zur Handhabung mehrerer rechnerischer Seiteneffekte innerhalb einer einzigen Pipeline. Es ermöglicht zudem die Konstruktion eingebetteter domänenspezifischer Sprachen, indem Programmlogik als Datenstrukturen dargestellt wird, die unabhängig von ihren Definitionen interpretiert werden. Die Bibliothek deckt breite Funktionsbereiche ab, einschließlich algebraischer Datenmanipulation zum Kombinieren und Reduzieren von Werten, typsicherem Zustandsmanagement und funktionaler Fehlerbehandlung zur Formalisierung von Fehlerakkumulation und -wiederherstellung. Sie bietet zudem Werkzeuge für das Management effektbehafteter Berechnungen und die Erweiterung von Standard-Collection-Typen um funktionale Fähigkeiten. Die Bibliothek enthält Mechanismen zur Validierung algebraischer Gesetze, um sicherzustellen, dass Typklassen-Instanzen mathematische Eigenschaften einhalten.

    Provides a framework for defining type classes to implement ad-hoc polymorphism and generic programming based on mathematical patterns.

    Scala
    Auf GitHub ansehen↗5,447
  • alexwolfe/buttonsAvatar von alexwolfe

    alexwolfe/Buttons

    5,001Auf GitHub ansehen↗

    Buttons is a CSS button framework and UI component library providing a set of reusable visual elements for mobile and desktop web environments. It functions as a CSS utility system and variable-driven theming engine that enables the creation of consistent buttons using configurable typography and shapes. The system utilizes a modular CSS architecture where independent style and color classes are composed on single elements to produce varied visual effects, such as 3D or flat designs. It employs a declarative design framework that maps configuration options to real-time visual attributes via c

    Uses a modular architecture combining independent style and color classes for varied visual effects.

    JavaScript
    Auf GitHub ansehen↗5,001
  • scalaz/scalazAvatar von scalaz

    scalaz/scalaz

    4,667Auf GitHub ansehen↗

    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

    Defines shared behavior across types using a principled type class system and inheritance structure.

    Scala
    Auf GitHub ansehen↗4,667
  • webpack/css-loaderAvatar von webpack

    webpack/css-loader

    4,322Auf GitHub ansehen↗

    css-loader ist ein Webpack-Modul, das CSS-Dateien in JavaScript-Module umwandelt und deren interne Abhängigkeiten während des Bundling-Prozesses auflöst. Es fungiert als CSS-Asset-Resolver, der Import-Regeln und url-Funktionen in Modul-Identifikatoren übersetzt, um Stylesheets in einen Abhängigkeitsgraphen zu integrieren. Das Projekt implementiert CSS Modules, um globale Stil-Kollisionen zu verhindern, indem Klassen- und ID-Selektoren lokal mit eindeutigen Identifikatoren gekapselt werden. Es enthält ein System für Interoperable CSS (ICSS), das die gemeinsame Nutzung und Komposition von Stilen über verschiedene Klassen und Module hinweg durch wiederverwendbare Wertdeklarationen ermöglicht. Das Tool bietet Funktionen für die Asset-Pfad-Auflösung und die Generierung von Source-Maps, um gebündelte Stile mit den ursprünglichen Quelldateien zu verknüpfen. Es unterstützt zudem den Export von Stilen als konstruierbare Stylesheets und die Steuerung der Loader-Sequenzierung innerhalb einer Build-Pipeline.

    Links multiple local class names together so that a single exported identifier includes multiple classes.

    JavaScript
    Auf GitHub ansehen↗4,322
  • riok/mapperlyAvatar von riok

    riok/mapperly

    4,100Auf GitHub ansehen↗

    Mapperly is a C# source generator used for high-performance object-to-object mapping in .NET. It functions as a compile-time mapping library that produces the necessary transformation code during the build process, eliminating the need for runtime reflection when converting between domain models and data transfer objects. The tool distinguishes itself by providing type-safe diagnostic validation and strict mapping enforcement, emitting warnings for unmapped properties at compile time. It includes specialized capabilities for circular reference handling and deep cloning to maintain object iden

    Resolves object mapping for interfaces and base types by identifying specific derived implementations.

    C#
    Auf GitHub ansehen↗4,100
  • frege/fregeAvatar von Frege

    Frege/frege

    3,700Auf GitHub ansehen↗

    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

    Implements generic operations across data types using type classes and automatic instances.

    Frege
    Auf GitHub ansehen↗3,700
  • csswizardry/css-guidelinesAvatar von csswizardry

    csswizardry/CSS-Guidelines

    3,648Auf GitHub ansehen↗

    CSS Guidelines ist ein umfassender Styleguide und eine Referenz für das Schreiben von wartbarem, skalierbarem und modularm CSS in großen Webprojekten. Es bietet eine Reihe professioneller Standards für die Organisation von Stylesheets und die Implementierung konsistenter Benennungsmuster, um die langfristige Gesundheit der Codebase zu verbessern und technische Schulden zu reduzieren. Das Projekt konzentriert sich auf eine strikte Methodik für das Scoping von Klassen, um isolierte und vorhersehbare Komponenten zu erstellen und Style-Leckagen zwischen unabhängigen Teilen einer Benutzeroberfläche zu verhindern. Es betont eine flache Selektor-Hierarchie, um Spezifitätskonflikte zu vermeiden, und fördert die Trennung von strukturellem Layout und visueller Ästhetik. Durch die Organisation von Code in logische Verzeichnisstrukturen und die Anwendung von Single-Responsibility-Designprinzipien stellen die Richtlinien sicher, dass Styles einfach zu aktualisieren und zu überschreiben sind, während ein Projekt wächst. Diese Standards decken die grundlegenden Aspekte des Aufbaus zuverlässiger Design-Systeme ab, einschließlich der Verwaltung von Kaskadierungsebenen und der Implementierung konsistenter Architektur-Patterns. Die Dokumentation dient als zentrale Ressource für Teams, die darauf abzielen, vorhersehbare, qualitativ hochwertige Styling-Konventionen über komplexe Interfaces hinweg zu etablieren.

    Encourages the use of single-purpose utility classes to maximize visual code reuse.

    Auf GitHub ansehen↗3,648
  1. Home
  2. Software Engineering & Architecture
  3. Abstract Data Types
  4. Type Classes

Unter-Tags erkunden

  • Class Coupling MetricsQuantitative measurements of the dependencies between classes to identify excessive architectural complexity. **Distinct from Type Classes:** Focuses on measuring coupling between types rather than defining shared behavioral patterns via type classes
  • ConstrainedType class variants that fix specific type parameters based on required constraints. **Distinct from Type Classes:** Distinct from general type classes: focuses on the specialization of type classes through constraints.
  • Constrained InstancesType class variants that fix specific type parameters based on constraints. **Distinct from Type Classes:** Focuses on fixing specific type parameters for an instance, whereas Type Classes is the general pattern.
  • Explicit Type Class InvocationThe ability to call type class methods directly via instances or companion objects to bypass implicit resolution. **Distinct from Type Class Instance Derivations:** Distinct from Type Class Instance Derivations: focuses on the manual invocation of instances rather than their automatic creation.
  • Functional DependenciesType-level hints specifying that one type argument in a multi-parameter type class uniquely determines another. **Distinct from Type Classes:** Distinct from Type Classes: is a specific advanced feature of multi-parameter type classes to guide type inference.
  • Instance ConstraintsMechanisms to fix specific type parameters in type class instances to ensure required dependencies are met. **Distinct from Type Classes:** Specific to constraining type parameters for type classes, not specifying cloud hardware instances.
  • Multi-ParameterType classes that take multiple arguments to define complex relationships between different types. **Distinct from Type Classes:** Distinct from Type Classes: extends the single-parameter pattern to support relationships between multiple distinct types.
  • Naming Conventions1 Sub-TagStandardized patterns for naming type classes and their associated parameters to denote their kind and variance. **Distinct from Type Classes:** Focuses on the specific naming nomenclature used to identify type class kinds, whereas Type Classes covers the general pattern of shared behavior.
  • Type Class Instance Derivations2 Sub-TagsAutomatic generation of type class implementations by composing instances of constituent type parameters. **Distinct from Type Classes:** Focuses on the derivation process of instances, not just the definition of the type class itself.