逝去证明的幽灵(函数珍珠) - IOHK 研究

主要观点:图书馆作者在函数设计时有选择,预条件函数可实现为偏函数或返回错误条件,两者都不理想,偏函数导致运行时错误,错误条件需在使用点检查给确保预条件正确的用户增加负担。
关键信息:介绍“ghosts of departed proofs” API 设计概念,基于在 Haskell 类型系统中用幻影类型参数编码复杂预条件无运行时开销,用户通过构建证明居住在幻影类型来表达正确性参数,此技术让库用户决定何时及如何验证 API 预条件是否满足。
重要细节:通过一系列案例研究展示该方法的效用,如对列表、映射、图、共享内存区域等强制新的不变量,只需对 Haskell 2010 做一些小的且易理解的扩展。

阅读 8
0 条评论