Language Support for Optional Functionality
Joy Mukherjee, Srinidhi Varadarajan

TL;DR
This paper proposes an 'availability check' construct for programming languages to enable dynamic optional functionality, simplifying development and increasing flexibility in C-like systems.
Contribution
It introduces a new language feature for automatic presence detection of code segments, reducing complexity and enhancing modularity without full re-compilation.
Findings
Preliminary implementation demonstrates feasibility.
Early experiments show reduced code complexity.
Potential for improved flexibility in software design.
Abstract
We recommend a programming construct - availability check - for programs that need to automatically adjust to presence or absence of segments of code. The idea is to check the existence of a valid definition before a function call is invoked. The syntax is that of a simple 'if' statement. The vision is to enable customization of application functionality through addition or removal of optional components, but without requiring complete re-building. Focus is on C-like compiled procedural languages and UNIX-based systems. Essentially, our approach attempts to combine the flexibility of dynamic libraries with the usability of utility (dependency) libraries. We outline the benefits over prevalent strategies mainly in terms of development complexity, crudely measured as lesser lines of code. We also allude to performance and flexibility facets. A Preliminary implementation and figures from…
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
TopicsLogic, programming, and type systems · Formal Methods in Verification · Logic, Reasoning, and Knowledge
