人们认为Haskell在并行性方面具有优势,因为它具有不变的数据结构。但是Haskell也很懒。这意味着实际上可以将数据从thunk突变为评估结果。
因此,懒惰似乎会损害不变性的优势。我是错的还是Haskell有针对此问题的对策?还是这是Haskell的特色?
这是键入return 1GHCi 时得到的。
> return 1
1
Run Code Online (Sandbox Code Playgroud)
由于我未指定的类型return,因此类型return 1为Monad m, Num a => m a
1即使没有实例,GHCi如何显示Show?