加载中...
1995年发源于MIT Scheme的Lisp方言,以语言扩展能力著称——Racket被设计为「用来制造编程语言的编程语言」。DrRacket IDE和教学语言功能使其成为编程语言理论教育的重要工具,HTDP教材以其为基础。

| 类型 | 动态类型(也有Typed Racket变体)、Lisp方言 |
| 发布年份 | 1995年(PLT Scheme) |
| 开发者 | Matthew Flatt、Matthias Felleisen等(PLT团队) |
Racket(前身PLT Scheme)的核心主张是:语言不应该是固定的,程序员应该能为问题量身定制语言。Racket的#lang指令允许每个文件声明自己使用的语言变体,#lang racket是标准Racket,#lang typed/racket是带类型系统的版本,#lang scribble/manual是文档语言——这些都是在Racket宏系统上构建的独立语言。
Racket的宏系统比Common Lisp更卫生(hygienic macros),避免了宏展开时的变量捕获问题。语法对象(syntax object)携带源码位置信息,展开后的代码在报错时仍能追溯到宏调用位置,这对于构建领域语言至关重要。[1]
《如何设计程序》(How to Design Programs,HTDP)用Racket的教学语言子集作为教材,被全球数百所大学采用。教学语言会在运行时给出比标准Racket更友好的错误信息,甚至可以限制语言特性以匹配课程进度。
Typed Racket(带渐进类型系统的Racket方言)是渐进类型理论研究的重要实验平台,影响了TypeScript等语言的设计。2019年,PLT团队将语言从Scheme根基上正式独立出来,确立了Racket的独立身份。

| 类型 | 动态类型(也有Typed Racket变体)、Lisp方言 |
| 发布年份 | 1995年(PLT Scheme) |
| 开发者 | Matthew Flatt、Matthias Felleisen等(PLT团队) |
登录 后参与讨论
暂无讨论,来发表第一条评论吧