Adding Real-time Capabilities to a SML Compiler
Muyuan Li, Daniel E McArdle, Jeffrey C Murphy, Bhargav Shivkumar,, Lukasz Ziarek

TL;DR
This paper explores modifications to the MLton compiler to enable real-time execution, including threading, garbage collection, and OS support, aiming to improve real-time system development with functional programming.
Contribution
It introduces specific changes to the MLton compiler, such as priority threading and real-time garbage collection, to support real-time applications in functional programming environments.
Findings
Prototype can boot ML programs on x86 machines
Progress in integrating real-time threading and garbage collection
Initial performance metrics show promise for real-time use
Abstract
There has been much recent interest in adopting functional and reactive programming for use in real-time system design. Moving toward a more declarative methodology for developing real-time systems purports to improve the fidelity of software. To study the benefits of functional and reactive programming for real-time systems, real-time aware functional compilers and language runtimes are required. In this paper we examine the necessary changes to a modern Standard ML compiler, MLton, to provide basic support for real-time execution. We detail our current progress in modifying MLton with a threading model that supports priorities, a chunked object model to support real-time garbage collection, and low level modification to execute on top of a real-time operating system. We present preliminary numbers and our work in progress prototype, which is able to boot ML programs compiled with…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsReal-Time Systems Scheduling · Embedded Systems Design Techniques · Parallel Computing and Optimization Techniques
