28 repository-uri
Custom types created by the programmer to extend the set of available primitive types.
Distinct from Primitive Type Utilities: Candidates focus on formatters or restrictions rather than the general concept of defining custom types.
Explore 28 awesome GitHub repositories matching programming languages & runtimes · User-Defined Types. Refine with filters or upvote what's useful.
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
Allows the grouping of named values and methods into structured object types.
The Concise TypeScript Book: A Concise Guide to Effective Development in TypeScript. Free and Open Source.
Teaches how to define the shape and constraints of data using static types to catch errors before runtime.
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
Teaches the use of both primitive and custom-defined types to represent data.
Penrose is a compiler that transforms structured mathematical notation into optimized SVG diagrams. It uses a three-stage pipeline of separate domain, substance, and style files to define mathematical objects, relationships, and visual presentation, then solves continuous optimization problems with user-defined spatial constraints and objectives to automatically arrange diagram elements. The system separates diagram content from visual style using distinct declarative languages, and provides a typed domain language with subtype hierarchies for mathematical objects. It supports embedding compi
Defines the kinds of objects that can appear in a diagram, establishing the vocabulary for the visual domain.
Arktype is a TypeScript runtime validation library and schema orchestrator. It synchronizes TypeScript types with runtime data validation, allowing users to define type-safe schemas that ensure unknown data adheres to specific structures during application execution. The project distinguishes itself by using set-theory type analysis to determine intersections and subtype compatibility, alongside JIT-compiled validation functions for optimized performance. It supports advanced type modeling through branded type constraints, recursive alias resolution, and the ability to generate runtime valida
Allows the creation of composite types by extending or intersecting multiple object definitions.
C4-PlantUML is a code-driven library that generates C4 model software architecture diagrams from PlantUML source text. It provides a set of reusable macros for creating system context, container, component, and deployment diagrams, enabling architects and developers to describe and communicate software architecture using the C4 model notation directly from diagram-as-code source files. The library distinguishes itself through hierarchical element nesting, which builds diagrams by nesting elements inside boundaries using PlantUML's rectangle and package constructs, and layout-direction control
Supports creating dynamic C4 diagrams that model interaction sequences between system elements.
MobX State Tree is a structured, tree-based state management library for JavaScript applications that combines typed model definitions with reactive snapshots and patch-based change tracking. It provides a reactive state container with runtime and compile-time type safety, where application state is defined as a tree of typed models with collocated actions, computed views, and lifecycle hooks for predictable state mutations. The library is built around an action-centric mutation model that encapsulates all state changes within named functions that directly modify the tree, supported by genera
Declares typed properties with defaults for state models, a fundamental part of model definition.
Gopher-lua is a complete implementation of the Lua language and its standard libraries written natively in Go. It serves as an embedded scripting engine and virtual machine that allows Go applications to execute Lua scripts and exchange data between the host and the script environment. The project provides a bytecode compiler to transform source code into a binary format for faster execution. It enables deep integration between the two languages by allowing the registration of native Go functions to be called from scripts, and the invocation of script functions directly from Go. The engine c
Enables the definition of custom data types and behaviors using user-defined data and metatables.
cva is a TypeScript utility for defining and resolving visual variants for UI components with full type safety. It generates CSS class strings from typed variant definitions, enabling compile-time validation of component usage by deriving the union of all variant prop types from a configuration object. The library distinguishes itself through compound variant matching, which activates styles only when multiple independent variant conditions are simultaneously satisfied, merging their class names. It also provides default value propagation to ensure consistent rendering when no explicit varian
Defines component variants as typed objects so the compiler catches invalid combinations before runtime.
Provides a flexible type system for defining custom chromosomes and individuals in evolutionary algorithms.
TypeSpec is a language for defining cloud API shapes and generating OpenAPI, JSON Schema, and client/server code from a single source of truth. It functions as a protocol-agnostic API designer that models REST, gRPC, and other API protocols using a unified, extensible syntax, with a decorator-based metadata system for attaching metadata, validation rules, and lifecycle visibility to API models and operations. The compiler produces OpenAPI 3.0 specifications and other artifacts, and the tool supports declaring API versions and tracking changes to models, properties, and operations across releas
Creates a shorthand name for a complex type expression, simplifying syntax without affecting the type graph.
Acest proiect este un toolkit bazat pe TypeScript care oferă decoratori și structuri bazate pe clase pentru construirea componentelor Vue.js. Acționează ca un wrapper care înlocuiește configurația obiectului options API standard cu o bibliotecă bazată pe clase, permițând dezvoltatorilor să definească logica componentei, starea și metadatele folosind proprietăți tipizate. Toolkit-ul se concentrează pe utilizarea decoratorilor TypeScript pentru a mapa proprietățile clasei la opțiunile componentei, cum ar fi props, modele și watchere. Permite validarea prop-urilor bazată pe tipuri și oferă o sintaxă structurată pentru gestionarea sincronizării stării reactive și a comunicării între componente. Biblioteca acoperă arii largi de capabilități, inclusiv partajarea ierarhică a datelor prin dependency injection, two-way model binding și observarea schimbărilor de proprietăți. Include, de asemenea, sisteme pentru crearea de referințe tipizate către elemente HTML sau instanțe de componente copil pentru manipulare directă.
Defines input properties for components with expected types and default values.
gofakeit is a Go library for creating realistic synthetic datasets and populating Go structs with mock information. It functions as a deterministic data generator, allowing for seedable random number generation to ensure reproducible datasets for software testing. The project distinguishes itself by providing a mock data API server that exposes generation functions as HTTP endpoints and a synthetic dataset exporter for producing files in CSV, JSON, and XML formats. It also includes a command-line interface for generating mock data directly from the terminal. The library covers a wide array o
Allows developers to define custom fake data logic by implementing specific Go interfaces.
Acest proiect este o colecție cuprinzătoare de materiale educaționale de programare Python, incluzând tutoriale, exerciții și mostre de cod curate. Acesta servește drept curriculum de învățare și set de instrumente de inginerie software, utilizând Jupyter Notebooks pentru a combina codul executabil cu text educațional descriptiv. Repository-ul oferă ghiduri practice de implementare pentru construirea de aplicații cu modele de limbaj mari, cum ar fi sisteme de generare augmentată prin regăsire (RAG), agenți AI cu stare și fluxuri de lucru de machine learning. Se distinge prin oferirea unei abordări structurate a fluxurilor de lucru de codare agentică, acoperind distilarea ferestrei de context, rutarea modelelor agnostice la furnizor și output-uri structurate impuse prin schemă. Materialele acoperă o gamă largă de capabilități de inginerie software, inclusiv programarea asincronă cu cozi de sarcini distribuite, dezvoltarea de aplicații web cu API-uri REST și fluxuri de lucru de analiză a datelor. Include, de asemenea, resurse pentru stăpânirea designului orientat pe obiecte, implementarea pipeline-urilor CI/CD și aplicarea standardelor profesionale de linting și formatare.
Determine an object's class or check if an object is an instance of a type.
Slang is a shader compiler framework that combines a modular shading language with automatic differentiation, multi-target code generation, and an intrinsic mapping and extension system. At its core, Slang provides a differentiable shader compiler that automatically generates forward and backward derivative propagation for functions with control flow, enabling gradient-based optimization in graphics. The framework also includes a fully featured shader language with modules, generics, interfaces, and separate compilation, all designed for building reusable shader libraries. From a single source
Replaces declared structs or types with target-specific types in generated output for direct use of native library types.
easyjson is a high-performance JSON serializer and memory-optimized parser for Go. It provides a reflectionless code generator that creates static Go methods for marshaling and unmarshaling data, eliminating the need for runtime reflection to improve execution speed. The library reduces CPU and memory overhead through several optimization strategies. It employs a system of reusable memory buffer pools to minimize heap allocations and garbage collection pressure. Additionally, it utilizes string interning to deduplicate repeated values and zero-copy string referencing to point to existing buff
Maps JSON fields to struct members using generated logic tailored to the specific data schema.
Acest proiect este un ghid cuprinzător și o resursă educațională pentru limbajul TypeScript. Acoperă principiile fundamentale ale limbajului, inclusiv sistemul său de tipuri structurale, analiza statică a tipurilor și procesul de transpilare a fișierelor sursă tipizate în JavaScript. Materialul detaliază modul de modelare a datelor complexe și a logicii de tip reutilizabile folosind generice, tipuri condiționale și tipuri mapate. De asemenea, explică utilizarea fișierelor de declarație pentru a oferi siguranța tipurilor pentru bibliotecile JavaScript externe și integrarea verificării tipurilor în proiectele JavaScript existente prin adnotări JSDoc. Domeniul de aplicare al conținutului se extinde la modele de programare orientată pe obiecte, manipularea DOM și configurarea comportamentelor compilatorului. Include îndrumări privind gestionarea interoperabilității modulelor, configurarea pipeline-urilor de build și utilizarea inteligenței editorului pentru o mai bună productivitate a dezvoltatorilor.
Provides instructions on using interfaces and intersections to compose and extend object types.
Walt este un transpiler și un limbaj tipizat care convertește o sintaxă de tip JavaScript în format binar WebAssembly. Acesta funcționează ca un toolchain pentru dezvoltarea logicii de înaltă performanță pentru browsere și runtime-uri, prin traducerea codului sursă tipizat în format text WebAssembly. Proiectul include un loader integrat în bundler care automatizează recompilarea fișierelor sursă în timpul procesului de build. Oferă un manager de memorie liniară utilizat pentru a defini layout-uri de date personalizate, structuri și alocatoare de memorie într-un heap contiguu. Limbajul suportă semnături de funcții definite, tipuri numerice și capacitatea de a exporta funcții și variabile globale sau de a importa funcții externe din mediul gazdă. Permite utilizarea closure-urilor funcționale, a pointerilor de funcții și a organizării structurate a datelor prin offset-uri de memorie binară.
Provides the ability to create user-defined function and object types to guide the compiler.
Buck2 este un instrument de build pentru monorepo programabil și un sistem de build ermetic conceput pentru a gestiona proiecte la scară largă cu grafuri de ținte complexe și dependențe multi-limbaj. Acesta funcționează ca un framework de execuție la distanță și analizor de grafuri de dependență, oferind un motor de caching al artefactelor pentru a asigura rezultate de build reproductibile și consistente în diferite medii. Sistemul se distinge printr-un motor de calcul incremental care recomputează doar nodurile specifice dintr-un graf de dependență invalidate de modificări. Utilizează stocarea adresabilă prin conținut pentru caching-ul artefactelor de build și suportă execuția la distanță de tip racing, unde acțiunile de build sunt executate local și la distanță simultan pentru a returna cel mai rapid rezultat. Suprafața sa de capabilități acoperă automatizarea build-ului multi-limbaj, abstractizarea toolchain-ului și configurarea bazată pe constrângeri pentru gestionarea variantelor de build pe diferite platforme. Proiectul include, de asemenea, instrumente de observabilitate a build-ului pentru introspecția grafului și detectarea modificărilor, precum și mecanisme de control al accesului pentru restricționarea vizibilității țintelor.
Combines attribute specifications with implementation functions to create new types of buildable targets.
lua-language-server is a static analysis tool and type checker for the Lua language that implements the Language Server Protocol. It provides a system for detecting type mismatches, unused code, and logic errors in source files. The project features an inference-based type system that deduces variable types and supports optional annotations and meta files to enforce type safety. It allows for the definition of custom types and function signatures, including support for overloads and member visibility controls. The server provides a broad set of IDE capabilities, including real-time code auto
Allows the definition of custom type aliases, enums, and class structures to enforce type safety.