我刚接触haskell编程和学习类型系统,在理解空值数据构造函数时遇到了困难。
以下面的例子为例:
data Color = Red | Green | Blue | Indigo | Violet deriving Show
genColor:: Color
genColor = Red
据我所知,红色,绿色,蓝色..是空值数据构造函数,在使用时会构造一个"Color“。
我很难理解的是,在传统的OOP语言中,您必须指定类型背后的原语-- for ex。颜色是否为字符串、整型、浮点型等。
在Haskell中,上面的代码运行得很好,那么为什么不需要它呢?像这样构造类型系统背后的基本