我试图提取一些我在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).
这个错误意味着什么,我该如何解决它?
答案 0 :(得分:3)
这可能是一个限制。您需要向FileIO
提供参数,并且不允许您对其进行内联。
Extract Constant FileIO "x" => "IO x".