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
Software Abstractions 一书中没有提到 enum
。
我看到有人在 Alloy 模型中使用 enum
,显然 Alloy 工具支持它。
我猜测在 Alloy 的旧版本中,enum
关键字是语言的一部分,支持 enum
的代码已经存在,尽管 enum
从语言中删除。我猜对了吗?
不,恰恰相反:enum 是在本书出版后添加到语言中的。
这些是本书出版后增加的功能。它们都非常有用。
seq
– 列表。不幸的是,他们缺少一个文字,这使得他们有点难以使用。let
– 可以在谓词、函数或事实之外使用的宏。对于常量和其他小函数非常有用。不需要使它们更易于阅读的类型,但错误报告令人沮丧。meta
– 访问规范中字段和类型的可能性。如果你正在反思,那就太好了。初学者应避免。private
– 私有命名空间,对于更大的规格非常有用。unsat
– 允许您在没有解决方案时调试规范。提倡使用小事实而不是分组。
这些新功能在 quick guide