enum 是 Alloy 语言的一部分吗?

Is enum part of the Alloy language?

Software Abstractions 一书中没有提到 enum

我看到有人在 Alloy 模型中使用 enum,显然 Alloy 工具支持它。

我猜测在 Alloy 的旧版本中,enum 关键字是语言的一部分,支持 enum 的代码已经存在,尽管 enum从语言中删除。我猜对了吗?

不,恰恰相反:enum 是在本书出版后添加到语言中的。

这些是本书出版后增加的功能。它们都非常有用。

  • seq – 列表。不幸的是,他们缺少一个文字,这使得他们有点难以使用。
  • let – 可以在谓词、函数或事实之外使用的宏。对于常量和其他小函数非常有用。不需要使它们更易于阅读的类型,但错误报告令人沮丧。
  • meta – 访问规范中字段和类型的可能性。如果你正在反思,那就太好了。初学者应避免。
  • private – 私有命名空间,对于更大的规格非常有用。
  • unsat – 允许您在没有解决方案时调试规范。提倡使用小事实而不是分组。

这些新功能在 quick guide