18 dépôts
Functions associated with specific data types that allow behavior to be invoked directly on instances.
Distinct from Type Aliases: Focuses on Go-specific method receivers, distinct from general type mapping or casting.
Explore 18 awesome GitHub repositories matching programming languages & runtimes · Type Methods. Refine with filters or upvote what's useful.
This project is an educational platform and tutorial series designed to teach the Go programming language through the practice of test-driven development. It provides a structured path for developers to master language fundamentals, concurrency, and standard library usage by building functional applications in small, verifiable increments. The core methodology centers on the test-driven development cycle, where failing tests are written before implementation to define requirements and ensure code correctness. This approach is applied across a wide range of practical scenarios, including the c
Implements methods on custom types to encapsulate behavior and improve code organization.
Nim is a statically typed, compiled systems programming language designed for high performance and cross-platform development. It translates high-level source code into C, C++, or JavaScript, allowing developers to produce efficient native binaries or web-compatible scripts from a single codebase. The language emphasizes a clean, indentation-based syntax that simplifies code hierarchy while maintaining the power of a full-featured systems language. What distinguishes Nim is its robust metaprogramming framework, which allows developers to inspect, modify, and generate code structures during th
Enables cleaner, object-oriented style code by allowing methods to be invoked using dot notation.
The Rust Programming Language Book is the official technical guide and educational resource for the Rust language. It provides a comprehensive walkthrough of the language's design, focusing on its core identity as a systems programming language that enforces memory safety and high-performance execution without the need for a garbage collector. The project is distinguished by its focus on ownership, borrowing, and lifetime tracking, which allow the compiler to verify memory safety and thread safety at compile time. It covers the language's unique approach to zero-cost abstractions, including t
Enables behavior that works across different concrete type substitutions via generic implementation blocks.
Stylus is a CSS preprocessor that transforms a dynamic language into standard CSS. It utilizes a compilation workflow to enable the use of variables, nesting, and arithmetic, which are then rendered into stylesheets for use in frontend asset pipelines. The project is distinguished by a flexible syntax that allows for indentation-based styling, meaning curly braces, colons, and semicolons can be omitted. It further differentiates itself through a JavaScript-driven plugin pipeline and the ability to extend the native syntax with custom JavaScript functions for complex logic. Its capability sur
Allows assigning values to parameters using specific names so arguments can be provided in any order.
Reason is a strongly typed functional language and multi-target compiler designed to produce either JavaScript for web environments or native machine code for operating systems. It serves as an OCaml-compatible language that shares an abstract syntax tree with OCaml, providing a practical syntax for the OCaml ecosystem. The project functions as a type-safe frontend language, incorporating JSX support to build user interfaces through structural elements that translate into type-safe function calls. It enables deep integration with the JavaScript ecosystem, allowing the use of existing librarie
Supports named argument invocations to improve call-site clarity and allow flexible argument ordering.
Blazor is a .NET framework for building interactive web user interfaces using C# instead of JavaScript. It provides a component-based UI composition model where reusable, self-contained UI elements are built with C# logic and Razor markup, supporting nesting, parameters, and lifecycle events. The framework offers two primary rendering models: a client-side runtime that compiles C# to WebAssembly and executes directly in the browser, and a server-side model that renders UI on the server and sends incremental DOM updates over a persistent SignalR connection. A central capability of Blazor is it
Supports calling methods on closed generic .NET instances from JavaScript via object references.
Kubebuilder is a framework and set of scaffolding tools used to build Kubernetes APIs and controllers. It functions as an operator framework that provides generators for custom resource definitions, admission webhooks, and RBAC manifests to extend cluster functionality. The project distinguishes itself through marker-based code generation, which parses source code comments to automatically produce Kubernetes manifests and boilerplate logic. It employs a hub-and-spoke versioning model to translate data between multiple API versions and uses a three-way merge strategy to automate project migrat
Creates cloning method implementations to ensure types can be duplicated in memory as required by Kubernetes.
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
Explains how to bind functions to specific types to implement method-based behavior.
The Rust RFCs repository is the formal home for the Rust language evolution process, housing the structured design documents and community review mechanisms that govern changes to the Rust programming language, its compiler, and its standard library. It defines the complete lifecycle for proposing, discussing, and implementing substantial changes through RFC documents, from initial submission and community feedback through final comment periods and sub-team sign-offs. The repository codifies the governance and collaboration processes that shape Rust's development, including mechanisms for com
Defines the autoderef and autoref method resolution mechanism in Rust.
attrs is a Python library that automatically generates initialization, representation, equality, hashing, and ordering methods from declarative class attribute definitions. At its core, it provides a class decorator metaprogramming framework that intercepts class creation to rewrite the class body, producing dunder methods without manual boilerplate. The library includes a comprehensive attribute validation toolkit with built-in validators for type checks, range constraints, regex matching, length limits, and logical composition of validation rules. The library distinguishes itself through it
Automatically generates initialization, representation, equality, and hashing methods from declared attributes.
Roc is a statically typed, functional programming language built around immutable-by-default semantics, exhaustive pattern matching on tag unions, and a type system that combines optional explicit annotations with full compile-time type inference. Its core identity centers on correctness and expressiveness, using tagged unions for error handling with a question-mark operator for early error propagation, and a trailing-bang naming convention that makes side-effect boundaries syntactically visible at every call site. The language distinguishes itself through a platform-based I/O abstraction tha
Resolves dot notation method calls to the corresponding module function at compile time.
c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static libraries, or dynamic libraries using an LLVM backend. It implements a system based on result-based error handling, scoped memory pooling, and a semantic macro system. The compiler provides first-class support for hardware-backed SIMD vectors that map directly to processor instructions and enables runtime polymorphism through interface-based dynamic dispatch. The project covers a broad set of low-level capabilities, including manual and pooled memory management, inline assembly inte
Enables functions to be associated with any type, including built-in types, for dot-syntax invocation.
Ce projet est une traduction chinoise d'un guide complet sur le langage de programmation Go. Il sert de ressource éducative localisée et de manuel technique conçu pour fournir des conseils sur la syntaxe, la conception et le développement logiciel. La ressource couvre un large éventail d'enseignements sur le langage Go, y compris l'implémentation de modèles de programmation et la conception système. Elle inclut des leçons traduites et des exemples axés sur les fonctionnalités fondamentales du langage telles que la concurrence et l'utilisation des interfaces. Le contenu couvre divers domaines, notamment les fondamentaux du langage, la modélisation de données, la réflexion au runtime et la gestion de la mémoire. Il fournit également une couverture détaillée de l'architecture logicielle, de la gestion des erreurs, de l'assurance qualité et du réseau web. La documentation est structurée comme un manuel technique comprenant du contenu traduit, des errata et des corrections pour garantir un apprentissage précis.
Explains how to associate functions with specific data types to create custom behaviors.
Borgo est un langage typé statiquement et un compilateur qui transforme une syntaxe de haut niveau en code source Go. Il fonctionne comme un transpiler conçu pour tirer parti du runtime Go tout en introduisant un système de types centré sur les types de données algébriques et la gestion des erreurs basée sur les résultats. Le langage se distingue en remplaçant les valeurs de retour multiples de Go par des types result et option, utilisant un opérateur dédié pour une propagation concise des erreurs. Il implémente des types somme avec filtrage par motif exhaustif et fournit un outil pour générer des bindings pour les packages Go existants, convertissant automatiquement les retours multi-valeurs en ces wrappers de types plus sûrs. Le système inclut des primitives pour la programmation concurrente, utilisant des canaux typés et des tâches en arrière-plan pour coordonner les processus asynchrones. Son système de types prend en charge l'implémentation d'interfaces structurelles, l'inférence automatique des types de collection et des blocs d'implémentation pour organiser les méthodes sur les structs.
Allows grouping related functions into implementation blocks with shared receivers to organize behavior on structs.
REFramework is a runtime modding framework for games built on the RE Engine, providing a C# plugin system with typed proxy code generation, a Lua scripting interface, an ImGui-based UI system, a runtime debugging toolkit, and a VR integration layer. At its core, it intercepts and modifies internal game engine functions and state at runtime through hooking and scripting APIs, enabling deep inspection and manipulation of live game objects. The framework distinguishes itself through typed proxy code generation that auto-creates C# interfaces from the game's type database, giving compile-time saf
Lists all non-stub method definitions belonging to a game type.
Janet est un langage de programmation dynamique basé sur Lisp présentant une machine virtuelle de bytecode basée sur des registres et un moteur de scripting intégrable. Il fonctionne comme un runtime de concurrence basé sur des fibres et inclut un moteur d'analyse basé sur des Parsing Expression Grammars (PEG). Le projet se distingue par sa capacité à être intégré dans des applications C ou C++ via une interface d'en-tête minimale. Il utilise un système de macros de style Lisp pour la transformation de code à la compilation et emploie l'héritage de table basé sur des prototypes pour un comportement orienté objet. Le runtime couvre un large ensemble de capacités, incluant la gestion d'IO asynchrone via une boucle d'événements non bloquante, l'interopérabilité de bibliothèque native via une interface de fonction étrangère (FFI) et un traitement de texte complet utilisant des grammaires PEG. Il fournit également des outils pour l'automatisation système, tels qu'une boucle read-eval-print (REPL), un système de module pour la résolution de symboles et des utilitaires pour la communication par socket réseau et la gestion du système de fichiers. L'environnement inclut des outils de diagnostic pour le débogage de l'exécution de bytecode et peut bundler le code source en exécutables binaires autonomes.
Allows passing parameters using named structures to improve clarity when functions require multiple inputs.
MadelineProto is an asynchronous PHP library that provides a programmatic interface for interacting with the Telegram API using the MTProto protocol, the same protocol used by official Telegram clients. It functions as both a Telegram bot SDK and a userbot automation library, enabling PHP applications to connect to Telegram as either a bot account or a regular user account, sending and receiving messages, media, and other data directly without relying on the Bot API intermediary. The library is built on an event-driven architecture with Amp v3 fiber-based concurrency, allowing for non-blockin
Returns the full list of available MTProto and API methods for the Telegram protocol.
OpenRewrite is an automated refactoring engine and source-to-source migration framework. It uses a lossless semantic tree parser to represent source code as type-aware trees that preserve original whitespace and formatting, enabling precise and deterministic modifications. The project utilizes a declarative refactoring pipeline where sequences of transformations are defined in YAML to resolve breaking changes and technical debt. It features type-aware pattern matching and cross-language model mapping to apply similar refactoring patterns across different programming languages. The framework
Performs structured migrations by modifying method signatures and bodies through semantic tree templates.