Scheme #郎方案与#郎球拍的区别

Scheme #郎方案与#郎球拍的区别,scheme,racket,htdp,Scheme,Racket,Htdp,我猜#lang racket是一种scheme方言,具有更多开箱即用的结构和常见的功能,可能更具教育性。朗朗骗局反对朗朗骗局的好处是什么 在racket中使用#lang scheme来遵循“计算机程序的结构和解释”甚至“如何设计程序”的所有内容是否是最好的(甚至是可能的)。HtDP是特定于朗格球拍的吗 在#lang scheme中编写的任何代码,只要不包含库,都可以在chicken scheme或任何主解释器中使用 提前谢谢 是的,#lang racket是racket的默认方言,有很多扩展 它

我猜#lang racket是一种scheme方言,具有更多开箱即用的结构和常见的功能,可能更具教育性。朗朗骗局反对朗朗骗局的好处是什么

在racket中使用#lang scheme来遵循“计算机程序的结构和解释”甚至“如何设计程序”的所有内容是否是最好的(甚至是可能的)。HtDP是特定于朗格球拍的吗

在#lang scheme中编写的任何代码,只要不包含库,都可以在chicken scheme或任何主解释器中使用

提前谢谢

  • 是的,
    #lang racket
    是racket的默认方言,有很多扩展

  • 它不是扩展名的两个位置:
    if
    必须有一个else分支,并且对是不可变的(no
    set car!
    set cdr!

  • #lang scheme
    在改名之前使用了一段时间,现在一直使用
    #lang racket
    。但我们保留了
    #lang scheme
    以实现兼容性(以及保留的各种
    scheme/--
    库,它们有时可能不同于
    racket/--
    对应库)。没有理由在新代码中使用
    #lang scheme

  • 要遵循SICP,不要使用任何一个——有一个可用的(可用于
    #lang SICP
    ),最初由Neil Van Dyke编写,但现在保留在Racket社区中

  • 要了解HtDP,请不要使用这些语言,请使用学生语言。还有一些新的基于
    #lang
    的变体,如
    #lang htdp/bsl
    ,但它们还没有完全成形。(并且HtDP不是专门针对lang racket的。)

  • 不,敲诈勒索和鸡肉计划很不一样。您可能可以在这两种语言中运行一些代码,但这些可能只是很小的示例


  • 非常感谢您提供的信息Eli,出于教学目的,我将完全使用racket,chicken scheme最酷的部分是编译到C部分。有了racket,不需要编译到C,它使用了一个性能非常好的即时编译器。如果您关心的是创建独立的可执行文件,而不是速度,那么也有办法做到这一点——请参见
    raco-exe
    raco-distribute
    。这里只需强调一点:
    #lang scheme
    几乎与
    #lang racket
    完全相同——它与Chicken scheme没有任何相似之处,或到SICP或HtDP,而不是
    #lang racket
    。可能重复