Scheme 什么';R6RS和x27之间的区别是什么;s`letrec`、`letrec*`和Racket';s'letrec`?
Scheme 什么';R6RS和x27之间的区别是什么;s`letrec`、`letrec*`和Racket';s'letrec`?,scheme,racket,r6rs,letrec,Scheme,Racket,R6rs,Letrec,letrec和letrec*都在R6RS中,但球拍中有letrec,没有letrec*。这两者之间有什么区别?在短拍letrec中,R6RSletrec*是相同的。 为这些指定了评估顺序。 在R5RSletrec中,未指定顺序 由于R5RSletrec的顺序未指定,因此实现可以选择 一个固定的顺序(例如从左到右),或者他们可以让编译器 为每次使用选择不同的顺序(以获得更快的代码) 从球拍文档中 : 语义:s绑定到新的位置 未定义的值,s在结果中进行计算 环境(以一些未指定的顺序),每个都被赋值
letrec
和letrec*
都在R6RS中,但球拍中有letrec
,没有letrec*
。这两者之间有什么区别?在短拍letrec
中,R6RSletrec*
是相同的。
为这些指定了评估顺序。
在R5RSletrec
中,未指定顺序
由于R5RSletrec
的顺序未指定,因此实现可以选择
一个固定的顺序(例如从左到右),或者他们可以让编译器
为每次使用选择不同的顺序(以获得更快的代码)
从球拍文档中
:
语义:为了完整起见,您可能需要添加R7RS语义,因为R7RS现在是正式的。据我所知,R7RS中的letrec和letrec*的含义没有变化。也就是说,R7RS中的letrec与R5RS和R6RS中的含义相同。在R7RS中,letrec*与R6RS中的含义相同。