文档

注释

这是一个存根。

文档是用reStructuredText格式.

代码示例

您可以在文档中包含代码示例。

如果您给文档文件扩展名.拉格达.rst,代码中的示例可以作为持续集成的一部分进行检查。这个顺便说一句,它们将保证始终与最新版本的阿格达。

提示

如果您在Emacs中编辑文档文件,您可以使用Agda的交互式模式来编写代码示例。使用M-x公司 agda2模式切换到Agda模式,以及M-x公司 rst模式切换回rST模式。

语法

嵌入代码示例的语法取决于:

  1. 代码示例是否应为看得见的文档的读者。
  2. 代码示例是否包含有效的Agda代码(应进行类型检查)。

可见的检查过的代码示例

这是用户将看到的代码,也将进行检查Agda的正确性。理想情况下,文档中的所有代码都应该此形式:两者看得见的有效的.

它可以独立显示:::

data Bool:设置位置
对错:布尔或在段落末尾::

data Bool:设置位置
对错:布尔代码片段到此结束。

结果:

它可以独立显示:

数据布尔: 设置 哪里真-假:布尔

或者在段落末尾:

数据布尔: 设置 哪里真-假:布尔

代码片段到此结束。

提示

记得在::.否则,代码将由Agda检查,但它将出现文档中可变宽度的段落文本。

可见、未检查的代码示例

这是读者将看到的代码,但Agda不会检查。它是对于错误代码、程序输出或语言中的代码示例很有用与Agda不同。

.. 代码块:: 阿格达

   --这不是有效的定义

   ω : ωx=x个.. 码块:: 哈斯克尔

   --这是haskell代码

   数据 布尔 = 真的 | False(错误)

结果:

--这不是有效的定义

ω : ωx=x个
--这是haskell代码

数据 布尔 = 真的 | False(错误)

不可见的检查代码示例

这是未向读者显示但用于类型检查的代码实际显示的代码。

这可能是众所周知的定义,不需要再次显示。

..
::
data Nat:设置位置
零:自然
例如:Nat国家

::

添加:Nat国家国家
加零y=y
添加(suc x)y=suc(添加x y)

结果:

添加 :国家国家国家加零y=添加(例如x)=苏克(加x y)

文件结构

文档文字文件(.拉格达*)作为整个Agda文件进行了类型检查,好像所有有文字的文本都被空白所取代。因此,压痕进行全局解释。

名称空间

在文档中,从文档/用户手册/根目录。例如,文件文档/用户手册/语言/数据类型.lagda.rst应该以一个隐藏的代码块开始,将模块的名称声明为语言.数据类型:

..
::
模块语言。数据类型,其中

范围界定

有时你会想在同一个地方的不同地方使用同一个名字文档文件。您可以通过使用隐藏模块声明来将定义与文件的其余部分隔离开来。

..
::
模块范围-1,其中

::

foo:国家
foo=42

..
::
模块范围-2,其中

::
foo:国家
foo=66

结果:

foo公司 :国家foo公司= 42