我正在尝试提取一些我用 Coq 编写的文件系统代码。我想用 Haskell 的 IO
Monad 替换我的 FileIO
Monad。我的代码如下所示:
Variable FileIO : Type -> Type.
Variable sync : FileIO unit.
Extract Inlined Constant sync => "synchronize".
Extract Inlined Constant FileIO => "IO".
Recursive Extraction append.
替换 sync
没问题,但是当我尝试用 IO
替换 FileIO
时,出现以下错误:
Error: The type scheme axiom FileIO needs 1 type variable(s).
这个错误是什么意思,我该如何解决?
最佳答案
这可能是一个限制。您需要为 FileIO
提供一个参数,并且不允许内联它。
Extract Constant FileIO "x" => "IO x".
关于coq - 类型方案的提取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28144162/