我读到没有语句,只有 Haskell 中的表达式。我认为表达式是评估(减少)为值的东西。 1 + 1
是一种表达,对吧?它减少到 2
,但是单独一个数字怎么样:8
?
是8
单独也算一种表达?一个不会进一步减少的表达式?如有任何澄清,我将不胜感激。
最佳答案
是的,1 + 1
是一个表达式。是的,8
是一个表达式。是否8
进一步减少是一个稍微复杂的问题,只是因为 Haskell 的一个奇怪的细节:数字是多态的。在常用类型,如 Int
和 Double
, 8
没有有意义地减少;但是可以在 8
中添加一个用户创建的实例。可以进一步减少。
...但这些都是令人讨厌的语言-律师-y 狡辩。从大局来看,你所说的一切基本上都是正确的。
关于haskell - Haskell 中的表达式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63144227/