面向OCaml的JavaScript BuckleScript
- 授权协议: GPL
- 开发语言: JavaScript
- 操作系统: 跨平台
- 软件首页: http://bloomberg.github.io/bucklescript/
- 软件文档: http://bloomberg.github.io/bucklescript/
软件介绍
Bloomberg开源了BuckleScript,这是一个面向OCaml的JavaScript后端。按照Bloomberg的说法,BuckleScript旨在为任何JavaScript执行引擎带来OCaml类型安全及高性能的代码。
BuckleScript最初是以名称OcamlScript发布的,后来为了避免同另一个项目混淆而改名。BuckleScript由Bloomberg Labs开发,旨在推动大规模JavaScript编程。按照Bloomberg的说法,OCaml的工业级强类型系统,配以一个快速编译器和离线编译时优化器,让这成为可能。
据其主要作者介绍,BuckleScript受js_of_ocaml启发,但目标不同。尤其是,BuckleScript的设计让其更容易与其他现有的JavaScript系统集成,这意味着可以从一个普通的JavaScript模块调用一个定义在BuckleScript中的函数。之所以能够这样做,是因为每个BuckleScript模块都会翻译成一个ES6模块(TypeScript也提供了这个被称为单独编译的概念),而且没有使用名字重整,这也让生成可调式的JavaScript代码成为可能。
举例来说,下面的OCaml代码
let sum n = let v = ref 0 in for i = 0 to n do v := !v + i done; !v
可以翻译成:
function sum(n) {
var v = 0;
for(var i = 0; i<= n; ++i){
v += i;
}
return v;
}据Bloomberg的工程师说,在特定情况下,BuckleScript的性能可以超过仔细实现的JavaScript库。尤其是,Facebookimmutable库的BuckleScript实现显现出了2倍的性能提升以及代码长度的大幅缩减。
BuckleScript尚处于早期阶段,已提供Linux和Mac OS X版本,Windows支持正在开发中。
Visual Thinking
Colin Ware / Morgan Kaufmann / 2008-4-18 / USD 49.95
Increasingly, designers need to present information in ways that aid their audiences thinking process. Fortunately, results from the relatively new science of human visual perception provide valuable ......一起来看看 《Visual Thinking》 这本书的介绍吧!
