REPL 上的 Lazy Racket

Lazy Racket on REPL

我可以将 Racket 从严格更改为 lazy evaluation using #lang lazy,但这只适用于模块。如何在 REPL 控制台中使用它?

要在 REPL 中设置语言,您可以使用 -I 标志。例如,要使用 lazy 语言,运行 racket -iI lazy:

$ racket -iI lazy
Welcome to Racket v6.7.0.3.
> (define fibs
    (list* 1 1 (map + fibs (cdr fibs))))
> fibs
#<promise:fibs>
> (list-ref fibs 10)
89