技能 haskell-pro
Λ

haskell-pro

安全

掌握高级Haskell编程 - 专家指导

在Haskell中遇到复杂的类型系统和纯函数式设计难题?本技能提供类型级编程、并发模式和高可靠性软件构建方面的专家指导,带来强大的静态保证。

支援: Claude Codex Code(CC)
🥉 75 青銅
1

下載技能 ZIP

2

在 Claude 中上傳

前往 設定 → 功能 → 技能 → 上傳技能

3

開啟並開始使用

測試它

正在使用「haskell-pro」。 设计一个类型安全的API来处理货币转账,在编译时防止无效状态。

預期結果:

使用newtypes包装Amount和Currency,并使用虚类型跟踪转账状态(Pending、Completed、Failed)。使用GADTs实现状态机,只允许有效转换。在类型中编码账户不变量以防止透支。提供使无效转账不可表示的类型签名。

正在使用「haskell-pro」。 如何在Haskell中处理对共享缓存的并发访问?

預期結果:

使用STM(软件事务内存)和TVar进行原子缓存更新。将缓存操作包装在retry块中以自动处理冲突。与async结合用于并发读/操作。使用bracket或finally实现异常安全的清理。示例模式:atomically $ do cached <- readTVar cacheVar; case cached of Just val -> return val; Nothing -> do newValue <- computeValue; writeTVar cacheVar (Just newValue); return newValue

正在使用「haskell-pro」。 审查我的Haskell代码以进行函数式设计改进。

預期結果:

将纯业务逻辑分离为具有显式签名的独立函数。使用transformer堆栈(ReaderT用于配置,ExceptT用于错误)隔离数据库和网络IO。使用total替代方案(Maybe或Either)替换partial函数。引入newtypes在类型级别区分UserID和Username。将大型模块拆分为专注于单一职责的模块。

安全審計

安全
v1 • 2/25/2026

Static analysis detected 7 potential issues (1 external_commands, 6 weak cryptographic patterns). All findings are false positives: the 'external_commands' detection was Markdown backticks for file paths, not shell execution. The 'weak cryptographic' detections appear to be scanner errors as no cryptographic code exists in the skill. The skill contains only documentation and instructions for Haskell programming assistance with no executable code, network operations, or security risks.

1
已掃描檔案
59
分析行數
1
發現項
1
審計總數
低風險問題 (1)
False Positive: Markdown File Reference
Line 27 contains backticks used for Markdown formatting of a file path ('resources/implementation-playbook.md'), not shell command execution. The static analyzer incorrectly identified this as an external command execution pattern.
審計者: claude

品質評分

38
架構
100
可維護性
87
內容
50
社群
100
安全
100
規範符合性

你能建構什麼

类型级编程

设计复杂的类型级抽象,将业务逻辑编码到类型系统中,在编译时捕获错误

并发系统设计

使用STM、async和轻量级线程构建并发和并行应用程序,并具有适当的异常安全性

代码库架构审查

评估现有Haskell代码库中的函数式设计模式、类型安全和架构改进

試試這些提示

类型安全的领域模型
为[domain]系统设计类型安全的领域模型。使用newtypes、虚类型或GADTs在类型级别编码不变量并防止无效状态。
重构为纯函数
审查此Haskell代码并将其重构为将纯逻辑与有副作用的代码分离。识别可以隔离IO的位置并提出函数签名架构。
并发设计模式
使用Haskell的STM和async设计一个并发[system]。展示如何安全地处理共享状态并实现异常安全的资源清理。
性能优化
分析此Haskell代码的性能瓶颈。识别严格性分析、融合优化或更好数据结构选择的机会。

最佳實務

  • 首先澄清您特定的Haskell挑战 - 无论是类型级设计、并发、架构还是性能调优
  • 提供相关的代码片段、错误信息或编译器警告以获得更有针对性的指导
  • 在请求架构或兼容性建议时指定您的GHC版本和关键依赖项

避免

  • 请求非Haskell编程帮助 - 使用通用编码技能代替
  • 请求在项目上下文之外执行任意系统命令或文件操作
  • 期望在未提供项目需求或约束的情况下获得完整的应用程序实现

常見問題

这个技能能为我编写和编译Haskell代码吗?
不,本技能提供Haskell编程方面的专家指导、模式和示例。它帮助您设计类型系统、架构和解决方案,但您必须使用GHC或构建系统自己实现和编译代码。
我应该使用本技能来学习Haskell基础知识吗?
本技能专注于高级Haskell主题,如类型级编程和并发。首先考虑使用适合初学者的资源,然后在您准备好学习高级模式和架构时使用本技能。
我应该提供什么信息以获得最佳指导?
分享您的具体挑战、相关代码片段、GHC版本和约束。对于架构问题,解释您的系统要求。对于性能问题,提供您已识别的性能分析器输出或瓶颈。
本技能能帮助处理遗留Haskell代码库吗?
是的,提供您想要重构或改进的代码。该技能可以识别更好的类型安全、纯函数提取和架构改进的机会,同时解释更改背后的推理。
本技能是否涵盖Yesod或Servant等Web框架?
本技能涵盖适用于Web开发的Haskell类型系统、并发和架构原则。它可以帮助设计类型安全的API和副作用代码模式,但如果是框架特定的问题,请提供有关您选择框架的上下文。
本技能能帮助我在Cabal和Stack之间做出选择吗?
是的,本技能涵盖项目结构、构建工具和依赖卫生。描述您的项目要求、团队背景和约束,它可以引导您选择适当的工具并提供理由。

開發者詳情

檔案結構

📄 SKILL.md