@右席
我觉得文中的方式拐了一个弯,用unsafeCoerce更直白一点,直接就能看出代码的目的
@右席 各人理解不同,但这是个很优雅的解决方案,与Y组合子定义一致
我反而觉得这种不需要类型检查时显式地自行保证类型的准确的做法是优点,这和绕过类型检查在概念上是不同的。就如同隐含转换和强制转换的区别,现在都认为隐含转换是邪恶的,强制转换才是正确的方式。
另外请你解释一下你的高大上的标准-。-
import Unsafe.Coerce
y :: (a -> a) -> a
y = \f -> (\x -> f (unsafeCoerce x x)) (\x -> f (unsafeCoerce x x))
re: scheme下的停机问题和Y组合子 Quon 2013-07-13 18:47
re: C语言复杂声明的本质与局限 Quon 2013-07-01 21:25
楼主你该完整的看一下 C专家编程
想改变现状的人做了个新的语言出来,于是想出名的人有了可以喷的东西,评论家靠发明家吃饭.
re: 递归引起的性能问题 Quon 2010-03-24 23:48
尾递归是解决优雅代码和性能的良方
re: Lua脚本浮点转整形bug分析 Quon 2010-02-22 14:11
这个问题的原因是DirectX修改了系统行为强制把浮点数定为单精度,造成lua整型的范围变小了
re: 编辑器杂谈(转载)+点评 Quon 2010-02-05 14:05
开源软件在事实上使得共享软件的质量变得更高,这对整个市场和用户都是良性的
re: 编辑器杂谈(转载)+点评 Quon 2010-02-05 14:02
Textmate人家照样卖的很火爆,共享软件如果连开源软件都不如,又如何开口向用户要钱呢