gpt4 book ai didi

scheme - #lang 方案和#lang Racket 之间的区别

转载 作者:行者123 更新时间:2023-12-03 11:53:31 25 4
gpt4 key购买 nike

我猜#lang Racket 是一种方案方言,具有更多开箱即用的结构和常见功能,也许更具教学性。反对#lang 计划的#lang Racket 有什么好处?

最好(甚至可能)在 Racket 中使用#lang 方案来遵循“计算机程序的结构和解释”甚至“如何设计程序”的所有内容。 HtDP 是#lang Racket 特定的吗?

无论用#lang 方案编写的任何代码,只要不包含库,都可以在鸡方案或任何主解释器中使用吗?

提前致谢。

最佳答案

  • 是的,#lang racket是 Racket 默认方言,有很多扩展名。
  • 两个不是扩展名的地方:if必须有一个 else 分支,并且对是不可变的(没有 set-car!set-cdr! )。
  • #lang scheme改名前用了一段时间,现在#lang racket被一致地使用。但我们保留了#lang scheme围绕兼容性(以及各种 scheme/--- 库被保留,有时可能与 racket/--- 对应物不同)。没有理由使用 #lang scheme在新代码中。
  • 要关注 SICP,请不要使用任何这些——有一个 SICP language可用(可与 #lang sicp 一起使用),最初由 Neil Van Dyke 编写,但现在由 Racket 社区维护。
  • 要遵循 HtDP,请不要使用任何这些,使用学生语言。还有新的#lang基于变体,如 #lang htdp/bsl但它们还不是完整的形状。 (而且 HtDP 不是 #lang racket 特定的。)
  • 不,Racket 与 Chicken Scheme 非常不同。您可能能够在两者中运行一些代码,但这些可能只是很小的玩具示例。
  • 关于scheme - #lang 方案和#lang Racket 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7152416/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com