本节课的目的是解释K中两种最基本的,自带的sort:Int
sort和Bool
sort,它们分别表示arbitrary-precision integers和Boolean algebra。
K中自带的sorts
K在domains.md中提供了一些有用sorts的说明,可以在K安装的include/kframework/builtin
目录中找到这个文件。这个文件是通过Literate programming风格定义的,我们将在以后的课程中讨论。我们不会立即覆盖所有的sort,但是,这一课讨论了一些关于整数和布尔值的细节,并提供了如何在K的文档中查找更多关于内置函数的详细知识的信息。
K中的Booleans
K提供的最基本的内置sort是Bool
sort,代表着布尔值(即true
和false
)。您已经看到了我们如何能够使用K的解析和消除歧义特性中,自己创建这个类型。然而,在绝大多数情况下,我们宁愿导入由K本身定义好的Boolean algebra。最简单的是,你可以通过在你的定义中导入模块BOOL
来实现这一点。例如(“lesson-06-a.k”):