haskell - Haskell 中的表达式是什么?

标签 haskell

我读到没有语句,只有 Haskell 中的表达式。我认为表达式是评估(减少)为值的东西。 1 + 1是一种表达,对吧?它减少到 2 ,但是单独一个数字怎么样:8 ?
8单独也算一种表达?一个不会进一步减少的表达式?如有任何澄清,我将不胜感激。

最佳答案

是的,1 + 1是一个表达式。是的,8是一个表达式。是否8进一步减少是一个稍微复杂的问题,只是因为 Haskell 的一个奇怪的细节:数字是多态的。在常用类型,如 IntDouble , 8没有有意义地减少;但是可以在 8 中添加一个用户创建的实例。可以进一步减少。
...但这些都是令人讨厌的语言-律师-y 狡辩。从大局来看,你所说的一切基本上都是正确的。

关于haskell - Haskell 中的表达式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63144227/

相关文章:

c# - 需要为 C# 程序员学习 Prolog、Haskell

haskell - 简单的代码产生如此多的错误报告

Haskell 语法 : the meaning of {. .} 和 @

haskell - 为什么 `stack build` 会更改我的 .cabal 文件?

haskell - 在 Gtk2hs 中,为什么 TreeModelIface 函数有时采用 Iter,有时采用 Maybe Iter

haskell - 实例 Monoid Monad

haskell - 您可以在类型类约束参数上对构造函数进行模式匹配吗?

performance - GHC 的垃圾收集 RTS 选项

haskell - 你如何解释这个 haskell 表达式中绑定(bind)运算符的关联性?

haskell - 如何在 Haskell 中从 stdin 读取三个连续整数?