haskell-pro
掌握高级Haskell编程 - 专家指导
在Haskell中遇到复杂的类型系统和纯函数式设计难题?本技能提供类型级编程、并发模式和高可靠性软件构建方面的专家指导,带来强大的静态保证。
下載技能 ZIP
在 Claude 中上傳
前往 設定 → 功能 → 技能 → 上傳技能
開啟並開始使用
測試它
正在使用「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。将大型模块拆分为专注于单一职责的模块。
安全審計
安全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)
品質評分
你能建構什麼
类型级编程
设计复杂的类型级抽象,将业务逻辑编码到类型系统中,在编译时捕获错误
并发系统设计
使用STM、async和轻量级线程构建并发和并行应用程序,并具有适当的异常安全性
代码库架构审查
评估现有Haskell代码库中的函数式设计模式、类型安全和架构改进
試試這些提示
为[domain]系统设计类型安全的领域模型。使用newtypes、虚类型或GADTs在类型级别编码不变量并防止无效状态。
审查此Haskell代码并将其重构为将纯逻辑与有副作用的代码分离。识别可以隔离IO的位置并提出函数签名架构。
使用Haskell的STM和async设计一个并发[system]。展示如何安全地处理共享状态并实现异常安全的资源清理。
分析此Haskell代码的性能瓶颈。识别严格性分析、融合优化或更好数据结构选择的机会。
最佳實務
- 首先澄清您特定的Haskell挑战 - 无论是类型级设计、并发、架构还是性能调优
- 提供相关的代码片段、错误信息或编译器警告以获得更有针对性的指导
- 在请求架构或兼容性建议时指定您的GHC版本和关键依赖项
避免
- 请求非Haskell编程帮助 - 使用通用编码技能代替
- 请求在项目上下文之外执行任意系统命令或文件操作
- 期望在未提供项目需求或约束的情况下获得完整的应用程序实现