SuperAPI AI 工具集

haskell

编程与开发

查看项目

更新于 10-15 23:43

技能介绍

用途:在编写或审查 Haskell 代码时提供规范指导,强调错误处理、类型安全与惯用模式,并配合 HLint、Aeson 与测试要求。

错误处理:禁止用 undefined 或 error 作占位;显式处理所有 Maybe/Either 分支,不得静默忽略;覆盖所有模式匹配分支;用类型让非法状态不可表示。

类型安全与惯用写法:为所有顶层定义写类型签名;优先 Text 而非 String;用 newtype 包装领域类型;用智能构造器做校验;写全函数,避免 head、tail 等部分函数;优先纯函数而非 IO;显式导出模块;倾向组合而非复杂函数;为公共 API 写 Haddock 文档。

记录:使用 OverloadedRecordDot(在用到该语法的模块加 pragma);用 DisambiguateRecordFields 和 DuplicateRecordFields 处理简单字段名;适当时用 lens 操作记录。

Aeson:禁止手工构造 aeson 对象;定义类型后对其 encode/decode;优先泛型派生,仅当线格式需要时手写实例。

HLint:若项目根存在 .hlint.yaml,对每个修改文件运行 hlint,任务完成前修复全部警告。

构建流程:若项目存在 ghcid.txt,每次代码改动后检查编译错误,清理干净前不继续;否则按项目文档的构建流程。新增或删除 .hs 模块时更新 .cabal 文件,或存在 package.yaml 时运行 hpack。

Relude:若项目使用 relude(检查 .cabal 或 package.yaml 依赖),同时遵循 RELUDE.md 的惯用替代写法。

测试:属性测试用 QuickCheck;单元测试用 HUnit 或 Hspec。

限制:资料未提供具体版本要求、性能数据、价格与平台信息。