精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

當前位置:統一通信/協作企業動態 → 正文

Facebook在Reason 3中對ReasonML的語法做了重大修改

責任編輯:editor004 作者:Sergio De Simone |來源:企業網D1Net  2017-11-14 11:32:34 本文摘自:INFOQ

Facebook試圖通過Reason將OCaml的安全性和運行速度帶給JavaScript開發人員。該語言達到了3.0版本,引入了新的語法,修復了許多Bug。

Reason語法其中一個最顯著的變化是使用JavaScript的application/abstraction語法代替了OCaml的語法。這意味著,在Reason 3中,開發人員在調用函數時可以像在JavaScript中那樣把兩個參數括起來:

myFunction(arg1, arg2) // 類似C語法的新語法myFunction arg1 arg2 // 類似OCaml語法的舊語法

其他值得注意的變化有:

使用{.}聲明JavaScript對象類型的新語法,例如:

type payload = {. // no need to call Js.t here "name": string, "age": int};

使用標簽參數擴展了對類型雙關的支持,新語法使用~代替了::。開發人員可以像下面這樣聲明并調用帶有標簽參數的函數:

let addCoordinates = (~x, ~y) => { /* 使用 x 和 y */ };...addCoordinates(~x=5, ~y=6);

可以和以前的語法作下比較:

let addCoordinates x::x y::y => {/* 使用 x 和 y */};...addCoordinates x::5 y::6;

此外,類型雙關(如上例所示,允許開發人員使用~x代替更為繁瑣的~x as x)應該和類型注解一起使用,這在以前是不支持的:

let add = (~first: int, ~second: int) : int => first + second;

字符串連接現在可以使用++操作符代替^了。

邏輯非使用!代替了not。

已經有Reason代碼庫的開發人員不必擔心這種程度的語法變化,這主要是為了讓JavaScript開發人員感覺更自然。其實,Reason 3提供了遷移腳本,可以確保過渡比較容易。

Reason另一個大有前途的新特性是提供了正式的API,讓開發人員可以訪問Reason解析器refmt。Klipse、reason-tools、Reason文檔站點等工具都是基于該解析器的。

Reason是Facebook試圖將OCaml可靠的類型系統帶到JavaScript開發環境的產物。它以BuckleScript為核心,提供了迎合JavaScript編程人員喜好的語法,因為他們可以會認為OCaml的語法有點不太友好。

查看英文原文: Facebook Overhauls ReasonML Syntax in Reason 3

關鍵字:FacebookBuckleScript

本文摘自:INFOQ

x Facebook在Reason 3中對ReasonML的語法做了重大修改 掃一掃
分享本文到朋友圈
當前位置:統一通信/協作企業動態 → 正文

Facebook在Reason 3中對ReasonML的語法做了重大修改

責任編輯:editor004 作者:Sergio De Simone |來源:企業網D1Net  2017-11-14 11:32:34 本文摘自:INFOQ

Facebook試圖通過Reason將OCaml的安全性和運行速度帶給JavaScript開發人員。該語言達到了3.0版本,引入了新的語法,修復了許多Bug。

Reason語法其中一個最顯著的變化是使用JavaScript的application/abstraction語法代替了OCaml的語法。這意味著,在Reason 3中,開發人員在調用函數時可以像在JavaScript中那樣把兩個參數括起來:

myFunction(arg1, arg2) // 類似C語法的新語法myFunction arg1 arg2 // 類似OCaml語法的舊語法

其他值得注意的變化有:

使用{.}聲明JavaScript對象類型的新語法,例如:

type payload = {. // no need to call Js.t here "name": string, "age": int};

使用標簽參數擴展了對類型雙關的支持,新語法使用~代替了::。開發人員可以像下面這樣聲明并調用帶有標簽參數的函數:

let addCoordinates = (~x, ~y) => { /* 使用 x 和 y */ };...addCoordinates(~x=5, ~y=6);

可以和以前的語法作下比較:

let addCoordinates x::x y::y => {/* 使用 x 和 y */};...addCoordinates x::5 y::6;

此外,類型雙關(如上例所示,允許開發人員使用~x代替更為繁瑣的~x as x)應該和類型注解一起使用,這在以前是不支持的:

let add = (~first: int, ~second: int) : int => first + second;

字符串連接現在可以使用++操作符代替^了。

邏輯非使用!代替了not。

已經有Reason代碼庫的開發人員不必擔心這種程度的語法變化,這主要是為了讓JavaScript開發人員感覺更自然。其實,Reason 3提供了遷移腳本,可以確保過渡比較容易。

Reason另一個大有前途的新特性是提供了正式的API,讓開發人員可以訪問Reason解析器refmt。Klipse、reason-tools、Reason文檔站點等工具都是基于該解析器的。

Reason是Facebook試圖將OCaml可靠的類型系統帶到JavaScript開發環境的產物。它以BuckleScript為核心,提供了迎合JavaScript編程人員喜好的語法,因為他們可以會認為OCaml的語法有點不太友好。

查看英文原文: Facebook Overhauls ReasonML Syntax in Reason 3

關鍵字:FacebookBuckleScript

本文摘自:INFOQ

電子周刊
回到頂部

關于我們聯系我們版權聲明隱私條款廣告服務友情鏈接投稿中心招賢納士

企業網版權所有 ©2010-2024 京ICP備09108050號-6 京公網安備 11010502049343號

^
  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 重庆市| 饶河县| 金堂县| 安平县| 大新县| 武平县| 织金县| 沧源| 敖汉旗| 柳林县| 高尔夫| 桃园县| 泾阳县| 新龙县| 张家口市| 松原市| 钦州市| 秦皇岛市| 永仁县| 安图县| 武穴市| 毕节市| 萨迦县| 宁晋县| 奉贤区| 北海市| 邻水| 莱州市| 和龙市| 财经| 扎囊县| 惠东县| 辽源市| 包头市| 共和县| 龙岩市| 资中县| 昂仁县| 山阴县| 娄烦县| 榆社县|