删除类型构造函数中的参数意味着什么?例如
data Foo : (0 _ : Nat) -> Type where
相对于
data Foo : Nat -> Type where
我的理解是,类型构造函数中的任何内容都不会在运行时使用,因此它实际上始终为 0。我想这还会导致一个可能更令人困惑的问题:线性参数在类型构造函数中意味着什么,但那是另一天的事了。
删除类型构造函数中的参数意味着什么?例如
data Foo : (0 _ : Nat) -> Type where
相对于
data Foo : Nat -> Type where
我的理解是,类型构造函数中的任何内容都不会在运行时使用,因此它实际上始终为 0。我想这还会导致一个可能更令人困惑的问题:线性参数在类型构造函数中意味着什么,但那是另一天的事了。
我通常会看到import
Idris 中的指令用于文件.idr
。但在此处的代码import
中,我看到一个在目录上使用的实例。
import public Text.Lexer
,其中Text.Lexer是一个仅包含一个名为Core.idr
.
我找不到此类用法的文档。该教程似乎没有说可以导入目录,或者是什么意思。
有人可以帮助解释目录中导入指令的含义吗?