微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

BuckleScript 面向OCaml的JavaScript

程序名称:BuckleScript

授权协议: GPL

操作系统: 跨平台

开发语言: JavaScript

BuckleScript 介绍

Bloomberg开源了BuckleScript,这是一个面向OCaml的JavaScript后端。按照Bloomberg的说法,bucklescript旨在为任何JavaScript执行引擎带来OCaml类型安全及高性能代码

bucklescript最初是以名称OcamlScript发布的,后来为了避免同另一个项目混淆而改名。bucklescript由Bloomberg
Labs开发,旨在推动大规模JavaScript编程。按照Bloomberg的说法,OCaml的工业级强类型系统,配以一个快速编译器和离线编译时优化器,让这成为可能。

据其主要作者介绍,bucklescriptjs_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支持正在开发中。

BuckleScript 官网

http://bloomberg.github.io/bucklescript/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐