在Wikipedia article about CPS中,有以下代码段,表面上来自Scheme:
(define (pyth& x y k)
(*& x x (lambda (x2)
(*& y y (lambda (y2)
(+& x2 y2 (lambda (x2py2)
(sqrt& x2py2 k))))))))
我找不到任何其他示例,或对" pyth&"," *&"和" +&&#的使用的解释34 ;.很多谷歌搜索只出现了其他形式,如" =&"和" /&"。
答案 0 :(得分:2)
这些只是功能名称,pyth&
是CPS pythagoras
程序,*&
是CPS乘法程序,+&
是CPS添加程序,与通常不同对等因为它们在最后一个参数中得到了延续,最后的&
只是一个命名约定,提醒你这一点,在链接段落的开头说明:
在CPS中,每个过程都需要一个额外的参数来表示函数计算结果应该做什么