Scheme SICP类型和变量
这是第三道习题的一部分 问题:指出以下每个表达式的类型。如果需要类型变量,请使用A、B、C等,从A开始作为最左边的变量。Scheme SICP类型和变量,scheme,sicp,Scheme,Sicp,这是第三道习题的一部分 问题:指出以下每个表达式的类型。如果需要类型变量,请使用A、B、C等,从A开始作为最左边的变量。 (λ(xy)x)=A,B->A (lambda(p)(p3)) (lambda(px)(px))=(A->B),A->B (lambda(x y comp)(if(comp x y)x y)) 正如你所看到的,我解决了1和3,但这主要是出于运气。我仍然在理解这个概念上有问题,这阻止了我解决2和4 可以找到讲座幻灯片(查看最后几张) A、 B->A (数字->A)->A (A-
(λ(xy)x)
=A,B->A
(lambda(p)(p3))
(lambda(px)(px))
=(A->B),A->B
(lambda(x y comp)(if(comp x y)x y))
(最后一个假设
x
和y
是相同的类型)我实际上很难理解这个问题。。。他们不都是兰姆达斯吗?首先,它们的数据类型有什么不同?是的,它们都是lambda,这就是为什么必须使用通用的A、B、C符号,而不是像number->number这样的东西。幻灯片就在这里,这是最后几张关于这类问题的幻灯片。