<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          BuckleScript面向OCaml的JavaScript

          聯(lián)合創(chuàng)作 · 2023-09-23 15:25

          Bloomberg開源了BuckleScript,這是一個面向OCaml的JavaScript后端。按照Bloomberg的說法,BuckleScript旨在為任何JavaScript執(zhí)行引擎帶來OCaml類型安全及高性能的代碼。

          BuckleScript最初是以名稱OcamlScript發(fā)布的,后來為了避免同另一個項目混淆而改名。BuckleScript由Bloomberg Labs開發(fā),旨在推動大規(guī)模JavaScript編程。按照Bloomberg的說法,OCaml的工業(yè)級強(qiáng)類型系統(tǒng),配以一個快速編譯器和離線編譯時優(yōu)化器,讓這成為可能。

          據(jù)其主要作者介紹,BuckleScript受js_of_ocaml啟發(fā),但目標(biāo)不同。尤其是,BuckleScript的設(shè)計讓其更容易與其他現(xiàn)有的JavaScript系統(tǒng)集成,這意味著可以從一個普通的JavaScript模塊調(diào)用一個定義在BuckleScript中的函數(shù)。之所以能夠這樣做,是因為每個BuckleScript模塊都會翻譯成一個ES6模塊(TypeScript也提供了這個被稱為單獨(dú)編譯的概念),而且沒有使用名字重整,這也讓生成可調(diào)式的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;
          }

          據(jù)Bloomberg的工程師說,在特定情況下,BuckleScript的性能可以超過仔細(xì)實現(xiàn)的JavaScript庫。尤其是,F(xiàn)acebookimmutable庫的BuckleScript實現(xiàn)顯現(xiàn)出了2倍的性能提升以及代碼長度的大幅縮減。

          BuckleScript尚處于早期階段,已提供Linux和Mac OS X版本,Windows支持正在開發(fā)中。

          瀏覽 17
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  91视频干| 欧美操B视频 | 天天艹天天日天天干 | 可以看的黄色视频 | 淫秽三级片中文字幕在线免费观看 |