顶级定义的可分辨级别变量应在核心语言中明确表示,以实现清晰语义。 (它可以在表面语言中保持隐式。) 具有累积性的单变量宇宙多态性就足够了。 典型的模糊性(如Coq中的)和多变量宇宙多态性(如Agda中的)是过分的。 有最高级的类型检查很方便。 然而,不应允许最终用户编写顶层,也不允许移动顶层。
欧帕姆大头针+ https://github.com/RedPRL/mugen网站
模块 我 = 穆根。 轮班。 国际
模块 M(M) = 穆根。 语法
(* universe级别的类型,使用整数作为位移,使用字符串作为变量名。 *)
类型 乌列维尔 = ( 我 .t英寸 , 一串 ) M(M) .免费
(* 表示“x+10”的级别 *)
让 我 : 乌列维尔 = M.Free。 (移位(var " x个 " ) ( 一、。 第_页 10 ))