一句话:提出 ReML 语言,通过显式效应与效应约束支持区域基内存管理,并集成多态区域推断。
在受限硬件或专用硬件上构建健壮系统时,控制程序效应(尤其是内存管理相关效应)至关重要。本文提出 ReML——一种高阶、静态类型函数式语言,允许程序员显式声明代码执行的效应、值所在的区域以及代码执行所满足的约束。这种显式性使程序对源代码修改和编译器更新(包括优化)更具鲁棒性。ReML 集成了一个多态推断系统,该系统建立在区域推断之上,并已在 MLKit(一个以区域基内存管理为主要内存管理方案的 Standard ML 编译器)中实现,从而说明显式效应与约束有助于在受限环境中实现可预测的代码行为。
An important aspect of building robust systems that execute on dedicated hardware and perhaps in constrained environments is to control and manage the effects performed by program code. We present ReML, a higher-order statically-typed functional language, which allows programmers to be explicit about the effects performed by program code and in particular effects related to memory management Allowing programmers to be explicit about effects, the regions in which values reside, and the constraints under which code execute, makes programs robust to changes in the program source code and to compiler updates, including compiler optimisations. ReML is integrated with a polymorphic inference system that builds on top of region-inference, as it is implemented in the MLKit, a Standard ML compiler that uses region-based memory management as its primary memory management scheme.