类型方案的提取

时间:2015-01-26 02:50:17

标签: coq coq-extraction

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

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

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

Recursive Extraction append.

替换sync没问题,但当我尝试用FileIO替换IO时,我收到以下错误:

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

这个错误意味着什么,我该如何解决它?

1 个答案:

答案 0 :(得分:3)

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

Extract Constant FileIO "x" => "IO x".