查看原文
其他

Hamler:基于Erlang与Haskell的编程语言

EMQX FOSS Lab 2021-09-10
点击“蓝字”关注我们吧


Hamler 是一门构建在 Erlang 虚拟机(VM)上的 Haskell 风格的强类型(strongly-typed)编程语言,独特地结合了编译时的类型检查推导,与对运行时高并发和软实时能力的支持。

Hamler 编程语言将赋予行业,尤其是 5G、IoT、云计算和边缘计算等潜力领域,构建下一代高可靠、可扩展、具备软实时支持应用的能力。


Hamler 语言主要特性


Hamler 作为运行在 Erlang VM 上的类 Haskell 语法的编程语言,核心特性可以概括为:

  • 类 Haskell 和 ML 的友好语法

  • 编译时的类型检查与类型推导

  • 运行时的高并发、软实时支持

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 0.1 编译器最初尝试基于 GHC 8.10.1 实现,后改为基于 Purescript 0.13.6 实现。




往期推荐

MsQuic:QUIC 协议的跨平台实现

2020-12-16

Servest:Deno的渐进式HTTP服务器

2020-12-15

超轻量级嵌入式数据库 FlashDB IoT

2020-12-11


扫码关注最新动态

公众号ID:fosslab


我就知道你“在看”
: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存