给定以下 lambda 表达式,其中\
类似于lambda
:
(\kf.f(\c.co)km)(\x.dox)(\le.le)
如果我转换的话会有错误吗(\c.co)k
into ko
?我这样做了,但显然这是错误的。正确的方法是首先评估外部函数,这意味着(\f.f(\c.co)(\x.dox)m)(\le.le)
将是理想的解决方案。
这是真的吗,因为我在我们的讲义中找不到任何可以表明这一点的规则?如果是,为什么我不能先评估内部函数?我已经这样做了,尽管如此,我的解决方案是正确的。
Regards.
我问我的助教,他说应用程序是左关联的,意思是
(\kf.f(\c.co)km)(\x.dox)(\le.le)
相当于
( [\kf.( [ f(\c.co) ]k )m ][\x.dox] )[ \le.le ]
这就解释了为什么k
不能应用于(\c.co)
.:/
方括号/圆括号仅用于使其更具可读性。
Regards.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)