Tag: letrec

我如何使用修复程序,它是如何工作的?

我对fix的文档有点困惑(尽pipe我想我明白它现在应该做什么),所以我查看了源代码。 这让我更加困惑: fix :: (a -> a) -> a fix f = let x = fx in x 这究竟是如何返回一个固定的点? 我决定尝试在命令行: Prelude Data.Function> fix id … 它挂在那里。 现在公平地说,这是我的旧的macbook,这是慢的。 然而,这个函数的计算花费不算太高,因为任何传递给id的东西都会返回相同的结果(更不要说它没有CPU时间了)。 我究竟做错了什么?