2

为什么accursedUnutterablePerformIO(又名inlinePerformIO)实施

accursedUnutterablePerformIO :: IO a -> a
accursedUnutterablePerformIO (IO a) = case a realWorld# of (# _, r #) -> r

并不是

accursedUnutterablePerformIO :: IO a -> a
accursedUnutterablePerformIO (IO a) = case a realWorld# of (# s, r #) -> s `seq` r

?

4

1 回答 1

6

简单地说,realWorld# 不存在 runtime,因此我们不能对其进行任何计算,因此seq也不做任何事情。

于 2016-02-18T07:48:40.633 回答