歡迎您光臨本站 註冊首頁

EMQ 團隊正式向全球 IoT&5G 市場釋出開源函式程式語言 - Hamler

←手機掃碼閱讀     admin @ 2020-06-11 , reply:0

Hamler - 面向 IoT&5G 市場的開源函式程式語言

EMQ 團隊很高興正式向全球 IoT&5G 市場釋出開源函式程式語言 - Hamler

Hamler 是一門構建在 Erlang 虛擬機器(VM)上的 Haskell 風格的強型別(strongly-typed)程式語言,獨特地結合了編譯時的型別檢查推導,與對執行時高併發和軟實時能力的支援。

Hamler 程式語言將賦予行業,尤其是 5G、IoT、雲端計算和邊緣計算等潛力領域,構建下一代高可靠、可擴充套件、具備軟實時支援應用的能力。

為什麼釋出 Hamler?

近十年來,我們一直在開發基於 Erlang/OTP 的軟體系統,特別是我們的核心產品可伸縮分散式開源 MQTT 伺服器 - EMQ X。我們一直認為 Erlang/OTP,尤其是 Beam 虛擬機器是工程學的傑作。它具有出色的併發性、分佈性和容錯性,是少數正確處理高併發和軟實時的通用語言平臺,是最適合開發 IoT 和 5G 應用的平臺之一。

從多年開發 Erlang 程式經驗來看,我們一直期待解決兩個問題:編譯時型別系統更友好的程式語法。編譯時強大的型別系統有助於我們構建更可靠的軟體系統;更友好的語法有助於我們建立一個繁榮的開發者社群。

為此學術界和產業界付出了近 20 年的努力。首先是 Philip Wadler 教授和 Simon Marlow 在 2000 年前後,為 Erlang 引入了型別標註和 Dialyzer 靜態型別檢查工具。

2008 年後,產業界有近 20 個專案,不斷地嘗試解決型別系統和友好語法的問題。elixir 專案引入了 Ruby 語法,吸引了部分 Ruby On Rails 社群開發者,卻沒有型別系統支援。Akka 專案在 JVM 上模擬實現了 Erlang/OTP ,但喪失了 Erlang/OTP 的軟實時特性。Well-Typed 公司的 Cloud Haskell 專案試圖在 Haskell 上模擬實現 Erlang/OTP,目前專案已經停滯。此外還有 lfe 引入了 Lisp 語法,alpacaefeneelchemygleam 等專案試圖引入 ML 風格語法和靜態型別,目前大部分仍處於很早期的開發中。

今天,EMQ 團隊做出努力,採用新的語言架構設計方式再一次嘗試解決上述問題,正式向業界釋出 Hamler 語言 0.1 版本!

Hamler 語言主要特性

Hamler 作為執行在 Erlang VM 上的類 Haskell 語法的程式語言,核心特性可以概括為:

  • 類 Haskell 和 ML 的友好語法
  • 編譯時的型別檢查與型別推導
  • 執行時的高併發、軟實時支援

結合我們多年對函數語言程式設計的理解與開發 Erlang、Haskell 程式的經驗,Hamler 語言支援函式程式設計大部分主要特性,我們相信這些特性可以幫助產業更好地迎接 5G、IoT 、邊緣計算與雲端計算帶來的開發浪潮,並吸引更多的開發者使用 Erlang VM - BEAM。

  • 宣告式與函數語言程式設計
  • 類 Haskell 與 ML 語法
  • 編譯時型別檢查與推導
  • 代數型別系統支援(ADT)
  • 函式、閉包、高階函式
  • Currying and partial application
  • Pattern matching, and Guards
  • List comprehension
  • Applicative and Monad
  • 更高階的模組系統
  • 高併發、軟實時支援

Hamler 編譯器設計

Hamler 原始碼經過詞法分析後生成 CST,然後經過 CST -> AST -> CoreFn 的語法樹變換、語法分析與型別檢查後,生成 CoreErlang 的 IR 程式碼,然後由 Erlang 編譯器生成最終的二進位制 Beam 檔案。

Hamler 編譯器架構如下圖:

Hamler compiler

Hamler 0.1 編譯器最初嘗試基於 GHC 8.10.1 實現,後改為基於 Purescript 0.13.6 實現。

歡迎參與 Hamler 開源專案

Hamler 函式程式語言從發起即是一個開源專案,目前核心開發者主要來自 EMQ 公司研發團隊:

  • Feng Lee: Hamler 語言設計者,貢獻了一個夢想和大部分 libs
  • Yang M: 貢獻了 Hamler 編譯器大部分程式碼
  • S Hu: 來自 University of Bristol,貢獻了 Hamler 大部分文件
  • wivwiv: 貢獻了 hamler-lang.org 網站 theme 設計
  • CrazyWisdom: 貢獻了 hamler-lang.org 網站域名
  • ysfscream: 貢獻了 hamler-lang.org 網站和 https 設定
  • juan6666:貢獻了 Hamler 語言 Logo 設計

Hamler 開源專案最終將與合作伙伴一起,貢獻給歐盟 2049 開放原始碼基金會 - 2049.Foundation


[admin ]

來源:OsChina
連結:https://www.oschina.net/news/116359/announcing-hamler-lang
EMQ 團隊正式向全球 IoT&5G 市場釋出開源函式程式語言 - Hamler已經有200次圍觀

http://coctec.com/news/all/show-post-238100.html