Bhargav Shivkumar

dblp:175/1519 · DBLP profile ↗
← Back
4ranked-venue papers
3as first author
2since 2021 · last 2021
0000-0002-8430-9229ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 3 · 3 first-author · 2 since 2021Systems, architecture and hardware · 1
YearPublicationVenuePosition
2021 Putting Gradual Types to Work
abstract
Abstract In this paper, we describe our experience incorporating gradual types in a statically typed functional language with Hindley-Milner style type inference. Where most gradually typed systems aim to improve static checking in a dynamically typed language, we approach it from the opposite perspective and promote dynamic checking in a statically typed language. Our approach provides a glimpse into how languages like SML and OCaml might handle gradual typing. We discuss our implementation and challenges faced—specifically how gradual typing rules apply to our representation of composite and recursive types. We review the various implementations that add dynamic typing to a statically typed language in order to highlight the different ways of mixing static and dynamic typing and examine possible inspirations while maintaining the gradual nature of our type system. This paper also discusses our motivation for adding gradual types to our language, and the practical benefits of doing so in our industrial setting.
Bhargav Shivkumar, Enrique Naudon, Lukasz Ziarek
PADL1
2021 Real-time MLton: A Standard ML runtime for real-time functional programs
abstract
Abstract There is a growing interest in leveraging functional programming languages in real-time and embedded contexts. Functional languages are appealing as many are strictly typed, amenable to formal methods, have limited mutation, and have simple but powerful concurrency control mechanisms. Although there have been many recent proposals for specialized domain-specific languages for embedded and real-time systems, there has been relatively little progress on adapting more general purpose functional languages for programming embedded and real-time systems. In this paper, we present our current work on leveraging Standard ML (SML) in the embedded and real-time domains. Specifically, we detail our experiences in modifying MLton, a whole-program optimizing compiler for SML, for use in such contexts. We focus primarily on the language runtime, reworking the threading subsystem, object model, and garbage collector. We provide preliminary results over a radar-based aircraft collision detector ported to SML.
Bhargav Shivkumar, Jeffrey C. Murphy, Lukasz Ziarek
J. Funct. Program.1
2020 RTMLton: An SML Runtime for Real-Time Systems
Bhargav Shivkumar, Jeffrey C. Murphy, Lukasz Ziarek
PADL1
2019 A survey of real-time capabilities in functional languages and compilers
abstract
Summary Functional programming languages play an important role in the development of correct software systems. As embedded devices become pervasive and perform critical tasks in our lives, their reliability becomes paramount. This presents a natural opportunity to explore the application of functional programming languages to systems that demand highly predictable behavior. In this paper, we explore existing functional programming language compilers and their applicability to real‐time embedded systems. We do this by defining important characteristics needed by a real‐time programming language and survey how well existing languages meet these characteristics. We conduct empirical analysis of language runtimes in order to assess the impact of dynamic memory management on predictability and performance. Lastly, we review different programming models for expressing real‐time considerations in applications.
Jeffrey C. Murphy, Bhargav Shivkumar, Amy Pritchard, Grant Iraci, Dhruv Kumar 0003, Sun Hyoung Kim, Lukasz Ziarek
Concurr. Comput. Pract. Exp.2