类型方案的提取
Extraction of Type Scheme
我正在尝试提取一些我用 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 编写的文件系统代码。我想用 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".