Explicit Effects and Effect Constraints in ReML

Research output: Contribution to journalJournal articleResearchpeer-review

Documents

  • Fulltext

    Final published version, 316 KB, PDF document

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.

Original languageEnglish
Article number79
JournalProceedings of the ACM on Programming Languages
Volume8
Issue numberPOPL
Pages (from-to)2370-2394
Number of pages25
DOIs
Publication statusPublished - 2024

Bibliographical note

Publisher Copyright:
© 2024 Owner/Author.

    Research areas

  • Effect Systems, Memory Management, Parallelism, Region-inference

ID: 390399934