关于服务
翻译我为重视正确性而非快速交付并希望在生产中不出错的团队开发可靠的后端和工具。我总是从类型系统开始:我建模领域,以便无效状态根本无法表达,编译器在第一次测试运行之前就切断了整个错误类别。纯函数设计将副作用推向系统边界,因此核心逻辑保持简单,方便测试,并且在几个月后安全重构——无需担心隐藏的回归。
多年来,我为金融、编译器和解释器编写了计算引擎,为棘手格式编写了解析器,以及为错误答案会造成真实损失的长期关键服务。Haskell 完美适合这些任务:详尽的案例分析、引用透明性、通过 QuickCheck 的基于属性的测试和严格的静态保证意味着程序在第一次运行和第千次运行时表现相同。我仔细分析性能,控制重要的惰性,并保持代码可读,而不是聪明。
当你需要一个真正难以破坏的系统时,请联系我。我提供干净的文档模块,一个准确捕捉你所依赖行为的测试套件,以及关于 Haskell 如何帮助和其他工具可能更简单的诚实建议。
— 通过类型进行 API 设计和领域建模
— 编译器、解析器、DSL 和解释器
— 金融和对正确性关键的后端服务
— 基于属性的测试、性能分析和重构现有代码
多年来,我为金融、编译器和解释器编写了计算引擎,为棘手格式编写了解析器,以及为错误答案会造成真实损失的长期关键服务。Haskell 完美适合这些任务:详尽的案例分析、引用透明性、通过 QuickCheck 的基于属性的测试和严格的静态保证意味着程序在第一次运行和第千次运行时表现相同。我仔细分析性能,控制重要的惰性,并保持代码可读,而不是聪明。
当你需要一个真正难以破坏的系统时,请联系我。我提供干净的文档模块,一个准确捕捉你所依赖行为的测试套件,以及关于 Haskell 如何帮助和其他工具可能更简单的诚实建议。
— 通过类型进行 API 设计和领域建模
— 编译器、解析器、DSL 和解释器
— 金融和对正确性关键的后端服务
— 基于属性的测试、性能分析和重构现有代码