28 个仓库
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.
本项目是一个 TypeScript 驱动的工具包,为构建 Vue.js 组件提供了装饰器和基于类的结构。它作为一个包装器,用基于类的库替换了标准的选项 API 对象配置,允许开发者使用类型化属性定义组件逻辑、状态和元数据。 该工具包专注于使用 TypeScript 装饰器将类属性映射到组件选项(如 props、models 和 watchers)。它支持类型驱动的 prop 验证,并为管理响应式状态同步和组件通信提供了结构化语法。 该库涵盖了广泛的功能领域,包括通过依赖注入实现的分层数据共享、双向模型绑定以及属性变更观察。它还包含用于创建 HTML 元素或子组件实例的类型化引用,以便进行直接操作。
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.
本项目是一个全面的 Python 编程教育材料合集,包括教程、练习与精选代码示例。它作为一个学习课程与软件工程工具包,利用 Jupyter Notebooks 将可执行代码与描述性教育文本相结合。 该仓库提供了构建大语言模型应用的实践指南,例如检索增强生成(RAG)系统、有状态 AI 代理与机器学习工作流。它通过提供结构化的代理编码工作流脱颖而出,涵盖了上下文窗口蒸馏、与提供商无关的模型路由以及模式强制的结构化输出。 这些材料涵盖了广泛的软件工程能力,包括使用分布式任务队列的异步编程、使用 REST API 的 Web 应用开发以及数据分析工作流。它还包括用于掌握面向对象设计、实现 CI/CD 流水线以及应用专业 Linting 与格式化标准的资源。
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 是一个高性能的 Go JSON 序列化器和内存优化解析器。它提供了一个无反射的代码生成器,可创建用于编组和解组数据的静态 Go 方法,消除了对运行时反射的需求,从而提高了执行速度。 该库通过多种优化策略减少了 CPU 和内存开销。它采用可重用内存缓冲池系统来最小化堆分配和垃圾回收压力。此外,它利用字符串驻留 (String interning) 来去重重复值,并使用零拷贝字符串引用来指向现有缓冲区段,而不是分配新字符串。 该项目涵盖了高性能 JSON 处理、静态代码生成和高级内存管理,以优化 Go 结构体与 JSON 之间的数据转换。
Maps JSON fields to struct members using generated logic tailored to the specific data schema.
该项目是 TypeScript 语言的综合指南和教育资源。它涵盖了该语言的基本原则,包括其结构化类型系统、静态类型分析以及将类型化源文件转译为 JavaScript 的过程。 该材料详细介绍了如何使用泛型、条件类型和映射类型来建模复杂数据和可重用的类型逻辑。它还解释了如何使用声明文件为外部 JavaScript 库提供类型安全,以及如何通过 JSDoc 注释将类型检查集成到现有的 JavaScript 项目中。 内容范围扩展到面向对象编程模式、DOM 操作和编译器行为配置。它包括关于管理模块互操作性、设置构建管线以及利用编辑器智能以提高开发者生产力的指导。
Provides instructions on using interfaces and intersections to compose and extend object types.
Walt 是一种转译器和类型化语言,可将类似 JavaScript 的语法转换为 WebAssembly 二进制格式。它作为开发浏览器和运行时高性能逻辑的工具链,通过将类型化源代码翻译为 WebAssembly 文本格式来实现。 该项目包含一个与打包器集成的加载器,可在构建过程中自动重新编译源文件。它提供了一个线性内存管理器,用于在连续堆中定义自定义数据布局、结构体和内存分配器。 该语言支持定义的函数签名、数值类型,以及导出函数和全局变量或从宿主环境导入外部函数的能力。它通过二进制内存偏移量实现了函数闭包、函数指针和结构化数据组织的使用。
Provides the ability to create user-defined function and object types to guide the compiler.
Buck2 是一款可编程的 monorepo 构建工具和 hermetic 构建系统,专为管理具有复杂目标图和多语言依赖的大型项目而设计。它充当远程执行框架和依赖图分析器,提供工件缓存引擎,以确保在不同环境下构建结果的可复现性和一致性。 该系统通过增量计算引擎脱颖而出,仅重新计算依赖图中因变更而失效的特定节点。它利用基于内容的寻址存储进行构建工件缓存,并支持远程执行竞速(remote execution racing),即同时在本地和远程执行构建操作,以返回最快的结果。 其功能涵盖多语言构建自动化、工具链抽象以及用于管理跨平台构建变体的基于约束的配置。该项目还包括用于图内省和变更检测的构建可观测性工具,以及用于限制目标可见性的访问控制机制。
Combines attribute specifications with implementation functions to create new types of buildable targets.
lua-language-server 是一个 Lua 语言的静态分析工具和类型检查器,实现了语言服务器协议 (LSP)。它提供了一套用于检测源文件中类型不匹配、死代码和逻辑错误的系统。 该项目具有基于推理的类型系统,可推断变量类型,并支持可选的注解和元文件以强制执行类型安全。它允许定义自定义类型和函数签名,包括对重载和成员可见性控制的支持。 该服务器提供了广泛的 IDE 功能,包括实时代码自动补全、符号重构以及跳转到定义和实现。它还包含一个代码格式化程序和一个文档生成器,可提取符号和注解以生成 Markdown 和 JSON 文件。 该服务器可以从源码构建,并可配置以匹配特定的语言版本和运行时环境。
Allows the definition of custom type aliases, enums, and class structures to enforce type safety.