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

2020-06-11 19:52:33 +08:00
 Eds1995

简介

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 语法的编程语言,核心特性可以概括为:

结合我们多年对函数式编程的理解与开发 Erlang 、Haskell 程序的经验,Hamler 语言支持函数编程大部分主要特性,我们相信这些特性可以帮助产业更好地迎接 5G 、IoT 、边缘计算与云计算带来的开发浪潮,并吸引更多的开发者使用 Erlang VM - BEAM 。

1449 次点击
所在节点    编程
3 条回复
Eds1995
2020-06-11 19:53:01 +08:00
以上内容从这篇公众号搬运的: https://mp.weixin.qq.com/s/z--mt2Nq0cUK1iZZ8Y1c7Q
Eds1995
2020-06-12 20:03:52 +08:00
Eds1995
2020-06-12 20:04:15 +08:00
居然上 github trending 了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/680799

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX