【发布时间】:2012-05-28 10:42:53
【问题描述】:
我不熟悉 Haskell 及其语义。我了解到并非每个函数都可以映射到一个对象。例如:
square :: Int -> Int
square x = x*x
square 的值被映射到数学对象。然而,对于任何非终止函数,我们将其映射到一个特殊的数学值⊥。我想知道如果我必须用这个未定义的值进行计算会发生什么。例如,我有一组数字Z⊥ ={⊥, 1,0,-1}。如果我将⊥ 乘以 1,输出会是什么?因为⊥ 的类型是未定义的,我可以用定义明确的类型进行乘法运算吗?因为⊥ 在Z⊥ 的域中,所以我想我可以进行乘法运算。但是,那么它必须返回⊥!我想得到一些关于它的指导!
【问题讨论】:
标签: haskell undefined semantics