letrec
和letrec*
都在R6RS中,但是在Racket中有only letrec
,没有letrec*
。这些之间有什么区别?
最佳答案
简而言之, Racket 的letrec
和R6RS的letrec*
是相同的。
为此指定了评估顺序。
在R5RS letrec
中,顺序未指定。
由于R5RS letrec
的顺序未指定,实现可以选择
固定顺序(例如从左到右),否则它们可以让编译器
为每次使用选择不同的顺序(以获取更快的代码)。
从 Racket 文档中。
R5RS letrec:
Racket letrec:
R6RS letrec*
:
关于scheme - R6RS的 `letrec`, `letrec*`和Racket的 `letrec`有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20440688/