Get Programming with Haskell-16
你将更仔细地研究一些我们已经介绍过的类型。你这样做是为了更多地了解 Haskell 类型的独特之处以及如何使用类型设计程序。到目前为止,你所看到的大多数类型都是代数数据类型。代数数据类型是通过组合其他类型而形成的任何类型。理解代数数据类型的关键在于准确地知道如何组合其他类型。幸运的是,只有两种方法。你可以使用“与”组合多种类型(例如,一个名字是一个 String 与另一个 String),或者你可以使用“或”组合类型(例如,一个 Bool 是一个 True 数据构造器 或一个 False 数据构造器)。通过使用“与”组合其他类型而形成的类型称为积类型(product types)。使用“或”组合而形成的类型称为和类型(sum types)。