转载

Racket 6.2 发布,Lisp 语言分支

7.16,杭州。阿里百川无线开放大会。阿里与开发者一起见证移动的力量

Racket 6.2 发布了,在这个版本中我们对核心库进行了优化和减缩,并将代码迁移到 Github 上。

目前核心库的源码请看 https://github.com/plt/racket , 和扩展包的源码 https://github.com/racket/ .

Racket源自著名的专家型语言PLT Scheme,同时又是Lisp语言的一个分支。它适用于从脚本Script到应用程序开发的任务执行工具,包括图形用户界面,Web服务器等。支持编译器的虚拟机,创建独立的可执行程序的工具,Racket Web服务器,具有丰富而全面的功能库,适用于初学者和专家编程。

其他改进内容包括:

core repo

* The package manager supports a direct references to Git repositories

via "git://[...]", "http://[...].git", and "https://[...].git" URLs.

(Previously, only references to GitHub were supported.)

* A `--clone` option for `raco pkg install` or `raco pkg update`

facilitates Git-based package development. If a package X has a Git

repository source, installing and updating the package pulls from the

repository in a read-only mode. Using `raco pkg update --clone X`

switches the local installation to a repository checkout that is

suitable for modifying the package implementation, issuing pull

requests, pushing changes, and so on.

Using `raco pkg update --lookup X` switches the package back to the

default installation mode.

drracket

* Its on-line check syntax works with graphical content.

* Increased availability of DrRacket's blueboxes, including method and

constructor information.

* The "Open Require Path" menu item supports ".." in relative pathnames.

data

* Added data/enumerate, a library that supports efficient enumeration of

data structures

redex

* Its redex-check facility uses data (in addition to random) enumeration

to try to find counter-examples.

* Its generate-term function accepts additional arguments to return the

"i"-th member of a pattern using data/enumerate (meaning it

efficiently supports very large values of "i").

* The examples collection includes Launchbury's 1993 big-step lazy

semantics.

htdp

* 2htdp/image's polygon may be built out of bezier curves instead of

just straight lines (see the docs for "pulled-point").

* 2htdp/abstraction is a teachpack for instructors and students who wish

to use for/* loops, match, define-type and type-cases in ISL and ISL+.

* 2htdp/universe programs can be exported using DrRacket's executable

creation mechanism and they behave properly when run independently.

typed-racket

* Typed Racket in DrRacket displays tooltips that show the types of

expressions. Tooltips are also displayed for type errors.

* Typed Racket loads generated contracts only when needed. This reduces

memory use and startup time for Typed Racket programs.

* Typed Racket has improved support for prefab structures, future

semaphores, and async channels.

* Typed Racket understands when two different variables refer to the

same thing, and updates types accordingly. This particularly improves

the type checking of macros such as `match`

正文到此结束
Loading...