积极性检查

注释

这是一个存根。

NO_POSITIVITY_CHECK杂注

杂注关闭数据/记录的阳性检查程序定义和相互块。

杂注必须位于数据/记录定义或相互块之前。

无法在安全模式下使用杂注。

示例:

  • 跳过单个数据定义:

    {-#NO_POSITIVITY_CHECK#-}
    数据D类: 设置 哪里
      兰姆 : (D类D类) D类
  • 正在跳过单个记录定义:

    {-#NO_POSITIVITY_CHECK#-}
    记录U型: 设置 哪里
      领域应用程序:U型U型
  • 跳过一个老式的双向块。在一个共同的区块内的某个地方在数据/记录定义之前:

    相互的
      数据D类: 设置 哪里
        兰姆 : (D类D类) D类{-#NO_POSITIVITY_CHECK#-}
      记录U型: 设置 哪里
        领域应用程序:U型U型
  • 跳过一个老式的双向块。相互的关键词:

    {-#NO_POSITIVITY_CHECK#-}
    相互的
      数据D类: 设置 哪里
        兰姆 : (D类D类) D类记录U型: 设置 哪里
        领域应用程序:U型U型
  • 跳过一个新型的相互块。申报前的任何地方或块中数据/记录的定义:

    记录U型: 设置
    数据D类: 设置
    
    记录U型哪里
      领域应用程序:U型U型{-#NO_POSITIVITY_CHECK#-}
    数据D类哪里
      兰姆 : (D类D类) D类

极性杂波

极性杂注可以附加到假设上。极性表示如何使用假设的论点。以下极性可用:

  • _:未使用。
  • ++:完全肯定。
  • +:积极。
  • -:否定。
  • *:未知/混合。

极性杂注具有以下形式{-# 极性 名称 <零 更多 极性> #-},并且可以在固定性声明可以提供的任何地方提供给出。列出的极性适用于给定假设参数(显式/隐式/实例),从左到右。极性当前无法为模块参数提供。如果假设接受n个参数(不包括模块参数),然后是给定的极性必须介于0和n之间(包括0和n)。

极性杂注使在递归类型如下:

假设
  ∥_∥ : 设置  设置

{-#极性‖_‖++#-}

数据D类: 设置 哪里
  c(c) :‖D‖D类

请注意,可以使用看似良性的假设,以及极性杂注,以证明空类型是有人居住的:

假设
  _⇒_    : 设置  设置  设置
  λ : {A和B: 设置}  (A类B类) A类B类应用  : {A和B: 设置} A类B类A类B类{-#极性_⇒_ ++ #-}

数据: 设置 哪里

数据D类: 设置 哪里
  c(c) :D类⇒ ⊥D类没有人居住 :D类没有人居住(立方英尺) =应用f(立方英尺)

d日 :D类d日=c(c)(lambda无人居住)

坏的 :坏的=无居民d

安全模式下不允许极性杂注。