文字过载

自然数

默认情况下自然数文字映射到内置自然数类型。这可以是更改为FROMNAT公司内置,它绑定到接受自然数:

{-#从Nat#-}构建FROMNAT

这会导致自然数文字n个要去糖来自Nat n个.注意,脱糖发生在隐式论证是这样插入的来自Nat可以有任意数量的隐式或实例参数。这可以是通过定义类型类包含来自Nat:

{-#从国家建造的FROMNAT#-}

此定义要求任何自然数都可以映射到给定的类型,因此它不适用于以下类型翅片 n个。这可以通过精炼来解决这个编号带有附加约束的类:

记录编号{} (A类: 设置) : 设置 (lsuc公司) 哪里
  领域
    约束 :国家 设置来自Nat : (n个:国家) {{_:约束n}} A类打开编号{{...}}公众的使用 (来自Nat)

{-#从Nat#-}构建FROMNAT

这是中使用的定义阿格达。内置。FromNat公司.A型编号实例对于翅片 n个然后可以定义如下:

数据是否为True:布尔 设置 哪里
   :IsTrue为真实例
  的确 :IsTrue为真的确=_<?_ :国家国家布尔零<?=零<?成功=真的例如x<?=例如x<?成功=x<?国家财政部 :  {n个} (:国家) {{_:是否为True(米<?n个)}} 财务n国家财政部{}{{()}}国家财政部{} (例如) {{()}}国家财政部{例如}{{}} =国家财政部{例如} (例如) {{t吨}} =苏克(国家财政部)

实例
  数字Fin :  {n个} 编号(财务n)数量。约束(数字Fin{n个})k个=是否为True(k<?n个)来自Nat NumFin k的数字=国家财政部

负数

负整数文字没有默认映射,只能通过这个FROMNEG公司内置。将其绑定到函数来自Neg原因负整数文字-n个要去糖来自Neg n个,其中n个是一个内置自然数.来自阿格达。内置。从Neg:

记录否定{} (A类: 设置) : 设置 (lsuc a公司) 哪里
  领域
    约束 :国家 设置来自Neg : (n个:国家) {{_:约束n}} A类打开否定{{...}}公众的使用 (来自Neg)
{-#从Neg#-}构建

字符串常量过载这个FROMSTRING公司内置,其工作原理与FROMNAT公司.如果不是绑定字符串文字映射到内置字符串.来自阿格达。内置。来自字符串:

记录IsString(IsString){} (A类: 设置) : 设置 (lsuc公司) 哪里
  领域
    约束 :字符串 设置来自字符串 : (:字符串) {{_:约束}} A类打开IsString(Is字符串){{...}}公众的使用 (来自字符串)
{-#从字符串#-}构建FROMSTRING

其他类型

目前只能重载整数和字符串文本。