一个库,提供用于递归地构建枚举过程的工具-可枚举的数据类型。它构建在算术编码库之上,并使使用它提供的自然数同构来表示个体枚举过程中的决策。因此,每个枚举结果为由一系列自然数组成的唯一路径表示。安枚举过程只是序列之间的(部分)映射和给定的数据类型。
该库提供了构造枚举过程的功能,以及根据各种搜索执行枚举的工具策略(深度优先、宽度优先等)。这些程序也可以使用一条或一组路径“warmstarted”。明显的应用包括详尽的搜索、测试、自动证明等。
此外,由于路径只是一系列自然数枚举过程可以兼作二进制序列化器/反序列化器。对于行为良好的枚举过程(即映射为同构),生成的二进制格式应该非常简洁。