标签: haskell lazy-evaluation
我不小心删了我的帖子,但是我正在重新提出这个问题以便澄清。
如果我有一个功能: const x = 1
const x = 1
如果我问哈斯克尔: const (1/0)
const (1/0)
它将返回1,因为延迟评估实际上并不计算1/0是什么,对吧?它不需要。
1
1/0
答案 0 :(得分:8)
是的,没错。正如您所定义的那样,const在评估时始终会生成1 - 无论参数是什么。由于参数与结果无关,因此不进行评估。因此,不会发生因评估参数而导致的任何错误或非终止。
const