软件开发 Skill技能列表
效应处理程序实现者Skill effect-handlers-implementer
这个技能用于实现代数效应的效应处理程序,支持构建效应系统、自定义效应和可扩展效应处理,适用于编程语言开发、控制流管理和软件开发。关键词:效应处理程序、代数效应、控制流、编程语言、软件开发、效应系统、自定义效应、可扩展性。
DSL嵌入技术Skill dsl-embedding
DSL嵌入技术是一种在编程语言中嵌入域特定语言的方法,用于简化特定领域的问题解决,允许开发者使用熟悉的语法构建自定义语言,提高代码可读性和维护性。它适用于构建嵌入式DSL、创建域特定语言和实现语言工作台。关键词:DSL嵌入,域特定语言,宿主语言,浅嵌入,深嵌入,最终无标签,单子DSL,组合子库,SEO优化。
依赖类型实现器Skill dependent-type-implementer
依赖类型实现器是一个高级技能,用于实现依赖类型理论的核心组件,如Π类型和Σ类型。它支持类型检查、转换和证明细化,适用于构建证明辅助工具、形式化数学和验证编程。关键词包括依赖类型、类型系统、证明辅助工具、Coq、Agda、Idris、类型理论、形式化验证。
反函数化Skill defunctionalization
反函数化是一种编程技术,用于将高阶程序转换为第一阶程序,通过将闭包表示为数据结构来实现。常用于编译器构建、优化闭包和序列化函数,提升性能和可维护性。关键词:反函数化、高阶程序、第一阶程序、编译器优化、闭包、程序变换、函数式编程、性能优化。
死代码消除器Skill dead-code-eliminator
死代码消除是一种编译器优化技术,用于移除程序中不影响输出的代码,包括不可达代码、未使用计算和冗余赋值,从而减少程序大小、提高性能。关键词:编译器优化,死代码消除,代码优化,性能提升,二进制大小。
数据流分析框架Skill dataflow-analysis-framework
数据流分析框架是一个用于实现静态程序分析的通用工具,支持定义Lattice、实现转移函数和求解数据流方程。它适用于编译器优化、bug检测和程序验证,关键词包括:数据流分析、静态分析、编译器、程序验证、Lattice、工作列表算法、软件架构设计。
CPS转换器Skill cps-transformer
CPS转换器是一种编程技能,用于将直接风格程序转换为连续传递风格,主要应用于编译器构建、控制运算符实现和界定延续的添加。该技能在编程语言设计和实现中发挥关键作用,优化代码执行和异步编程。关键词:CPS、编译器、转换、控制运算符、连续传递风格、编程语言、优化、异步编程。
Coq证明助手Skill coq-proof-assistant
Coq证明助手是一个交互式定理证明工具,专门用于形式化验证、程序正确性证明和数学理论的形式化开发。它支持依赖类型,通过战术证明实现交互式证明,适用于软件验证、编译器验证和数学定理证明等领域。关键词:Coq、证明助手、形式化验证、程序正确性、数学证明、依赖类型、战术证明、交互式证明。
控制流分析Skill control-flow-analysis
控制流分析是一种程序静态分析技能,用于通过构建控制流图来理解程序的执行路径、检测循环和分支,支持编译器优化、错误检测和安全分析。关键词:控制流分析,CFG,静态分析,编译器优化,程序理解,可达性分析。
上下文等价性Skill contextual-equivalence
上下文等价性技能用于证明程序在操作语义学、互模拟等技术下的上下文等价性,应用于程序验证、编译器正确性证明、程序转换验证和优化验证等领域。关键词:程序验证、上下文等价性、操作语义学、互模拟、编译器验证、编程语言、形式化方法。
常数传播优化Skill constant-propagation-pass
这个技能实现常数传播优化,通过数据流分析在编译器中传播常数值以优化代码。它适用于编译器构建、程序分析学习和优化技术实现,能够收集和替换常数,提高程序效率。关键词:常数传播、编译器优化、数据流分析、程序优化、静态分析、代码优化。
并发验证器Skill concurrency-verifier
这个技能用于验证并发和并行程序的正确性,检测数据竞争和死锁,确保多线程和分布式系统的可靠性。关键词包括并发验证、数据竞争检测、死锁分析、锁协议验证、内存模型推理、软件测试、并发程序安全。