Agent Skills
返回列表
💻

Haskell Pro 函数式编程专家

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/haskell-pro。

技能介绍

你在解决什么问题

Haskell 项目里常见痛点是:类型用得浅、偏函数和 Maybe 补丁满天飞、IO 与领域逻辑缠在一起,并发一上 STM/async 就踩坑,Cabal/Stack 依赖和模块边界也越改越乱。你需要的不只是语法片段,而是能对照不变量、全函数边界和可验证步骤的工程化做法。

技能如何协助你

本技能以「Haskell 专家」视角工作:先帮你明确目标、约束与输入,再按领域给出可执行步骤与验证方式;细节示例见资料中的 resources/implementation-playbook.md。

核心能力包括:

  • 高级类型建模:用富有表达力的类型、newtype、GADT、类型族与幻影类型表达领域规则,而不是靠注释约定。
  • 纯函数优先:把副作用隔离到显式 IO 边界,并推荐偏函数的安全、全函数(total function)替代方案。
  • 并发与组合:STM、async、轻量级线程与异常安全的组合子模式,避免 ad-hoc 线程共享状态。
  • 抽象与定律:类型类与代数设计仅在提升清晰度时使用;配合 QuickCheck/Hspec 做基于属性的推理。
  • 性能与工程:严格求值、剖析与 fusion 调优;Megaparsec/Aeson 解析;Cabal/Stack 项目结构与依赖卫生。

输出习惯是:带清晰类型签名的惯用 Haskell、纯逻辑与副作用分离、可在 GHCi 运行或直接编译的示例,以及可维护的模块划分。

适用边界

  • 适用:Haskell Pro 相关任务、工作流,以及需要最佳实践、检查清单与结果验证的场景。
  • 不适用:与 Haskell 无关的任务,或必须依赖本技能范围外其他领域/工具才能完成的工作——此时应换用对应技能或工具链。

使用场景

  • 为支付或订单状态机设计 GADT/newtype,把非法状态从类型层面排除
  • 把散落在 IO 里的业务规则抽到纯函数核心,并在边界用显式 Monad 栈处理副作用
  • 用 STM 或 async 重构共享可变状态,并补齐异常安全与超时取消的验证步骤
  • 升级 Cabal/Stack 依赖前梳理模块边界,并给 Megaparsec/Aeson 解析补 QuickCheck 属性测试

适合人员

  • 维护 Haskell 微服务的后端工程师,需要把偏函数改成全函数并保留清晰类型签名
  • 负责发布门禁的技术负责人,要在 Cabal/Stack 升级前审查依赖与模块耦合
  • 正在写配置/协议解析器的开发者,希望用 Megaparsec 与 Aeson 统一错误模型与测试策略
  • 做性能排查的函数式代码作者,需要通过 strictness、剖析与 fusion 定位热点而非盲目改算法