#lang方案和#lang球拍的区别 [英] Differences between #lang scheme and #lang racket

查看:41
本文介绍了#lang方案和#lang球拍的区别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我猜#lang racket 是一种方案方言,具有更多开箱即用的结构和通用功能,并且可能更具教学性.#lang 球拍对抗 #lang 计划有什么好处?

I'm guessing that #lang racket is a dialect of scheme with much more out of the box structures and common functions and perhaps would be more pedagogic. What are the perks a #lang racket against #lang scheme?

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

Is it best (or even possible) to use #lang scheme in racket to follow all the content of 'Structure and Interpretation of Computer Programs' or even 'How to Design Programs'. HtDP is #lang racket specific?

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

Whatever code written in #lang scheme, as long as libraries are not being included, can be used in chicken scheme or any main interpreter?

提前致谢.

推荐答案

  1. 是的,#lang racket 是球拍的默认方言,有很多扩展.

  1. Yes, #lang racket is the racket default dialect, with lots of extensions.

它不是扩展的两个地方:if 必须有一个 else 分支,并且对是不可变的(没有 set-car!set-cdr!).

Two places where it is not an extension: if must have an else branch, and pairs are immutable (no set-car! and set-cdr!).

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

#lang scheme was used for a while before the name change, and now #lang racket is used consistently. But we kept #lang scheme around for compatibility (as well as various scheme/--- libraries that are kept and can sometime be different than racket/--- counterparts). There's no reason to use #lang scheme in new code.

要遵循 SICP,请不要使用其中任何一个 -- 有一个 SICP 语言可用(可与 #lang sicp 一起使用),最初由 Neil Van Dyke 编写,但现在在 Racket 社区内维护.

To follow SICP, don't use any of these -- there's a SICP language available (usable with #lang sicp), originally written by Neil Van Dyke, but now maintained within the Racket community.

要遵循 HtDP,请不要使用任何这些语言,请使用学生语言.还有一些新的基于 #lang 的变体,比如 #lang htdp/bsl,但它们还不是一个完整的形状.(HtDP 不是 #lang racket 特定的.)

To follow HtDP, don't use any of these, use the student languages. There are also new #lang-based variants like #lang htdp/bsl but they're not in a complete shape, yet. (And HtDP is not #lang racket specific.)

不,Racket 与Chicken Scheme 非常不同.您可能可以在两者中运行一些代码,但那些可能只是很小的玩具示例.

No, Racket is very different from Chicken Scheme. You might be able to run some code in both, but those would probably be only tiny toy examples.

这篇关于#lang方案和#lang球拍的区别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆