• <dd id="3gzlp"></dd>

    <li id="3gzlp"><acronym id="3gzlp"></acronym></li>

    <span id="3gzlp"></span>

    EMQ 團隊正式向全球 IoT&5G 市場發布開源函數編程語言 - Hamler

    EMQX
     EMQX
    發布于 2020年06月11日
    收藏 22

    openEuler項目召集令就在暑期2020,最高6萬元獎金等你來領!>>>

    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

    本站文章除注明轉載外,均為本站原創或編譯。歡迎任何形式的轉載,但請務必注明出處,尊重他人勞動共創開源社區。
    轉載請注明:文章轉載自 OSCHINA 社區 [http://www.url23.com]
    本文標題:EMQ 團隊正式向全球 IoT&5G 市場發布開源函數編程語言 - Hamler
    加載中
    此新聞有 23 條評論,請先登錄后再查看。
    返回頂部
    頂部
    聚看影院