3

我正在尝试提取一些我用 Coq 编写的文件系统代码。我想FileIO用 Haskell 的Monad 替换我的IOMonad。我的代码如下所示:

Variable FileIO : Type -> Type.
Variable sync : FileIO unit.

Extract Inlined Constant sync => "synchronize".
Extract Inlined Constant FileIO => "IO".

Recursive Extraction append.

替换sync没问题,但是当我尝试替换FileIOIO出现以下错误:

Error: The type scheme axiom  FileIO needs 1 type variable(s).

这个错误是什么意思,我该如何解决?

4

1 回答 1

3

这可能是一个限制。您需要提供一个参数,FileIO并且不允许内联它。

Extract Constant FileIO "x" => "IO x".
于 2015-01-27T14:40:37.010 回答