V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Eds1995
V2EX  ›  编程

EMQ X 开源了面向 IoT&5G 市场的函数编程语言 Hamler !

  •  
  •   Eds1995 · 2020-06-11 19:52:33 +08:00 · 1467 次点击
    这是一个创建于 1626 天前的主题,其中的信息可能已经有所发展或是发生改变。

    简介

    Hamler( https://hamler-lang.org/) 是一门构建在 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 静态类型检查工具。

    Simon Marlow & Philip Wadler (1997): A practical subtyping system for Erlang ( http://homepages.inf.ed.ac.uk/wadler/papers/erlang/erlang.pdf)

    Philip Wadler (2002): The great type hope ( http://homepages.inf.ed.ac.uk/wadler/papers/erlang/erlang-slides.pdf)

    2008 年后,产业界有近 20 个项目,不断地尝试解决类型系统和友好语法的问题。elixir 项目引入了 Ruby 语法,吸引了部分 Ruby On Rails 社区开发者,却没有类型系统支持。Akka 项目在 JVM 上模拟实现了 Erlang/OTP,但丧失了 Erlang/OTP 的软实时特性。Well-Typed 公司的 Cloud Haskell 项目试图在 Haskell 上模拟实现 Erlang/OTP,目前项目已经停滞。此外还有 lfe 引入了 Lisp 语法,alpaca 、efene 、elchemy 、gleam 等项目试图引入 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

    • 更高级的模块系统

    • 高并发、软实时支持

    3 条回复    2020-06-12 20:04:15 +08:00
    Eds1995
        1
    Eds1995  
    OP
       2020-06-11 19:53:01 +08:00
    以上内容从这篇公众号搬运的: https://mp.weixin.qq.com/s/z--mt2Nq0cUK1iZZ8Y1c7Q
    Eds1995
        2
    Eds1995  
    OP
       2020-06-12 20:03:52 +08:00 via Android
    Eds1995
        3
    Eds1995  
    OP
       2020-06-12 20:04:15 +08:00 via Android
    居然上 github trending 了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1232 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:11 · PVG 02:11 · LAX 10:11 · JFK 13:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.