Charles Explorer logo
🇬🇧

Inferring Common Language Infrastructure Metadata for an Ambiguous Dynamic Language Type

Publication at Faculty of Mathematics and Physics |
2017

Abstract

Dynamic languages play an important role in the computer industry. Most noticeably, a vast majority of web servers and client browsers are running some sort of dynamic language, such as Python, JavaScript or PHP.

In light of the ubiquitous attempts to provide a fast and secure environment for dynamic languages, it is imperative to be able to compile them and have them run natively without the necessity for their often-times slow interpretation. Their type system represents one of the most significant differences compared to static languages.

The type ambiguity makes it difficult to analyze and run a dynamic program. In this paper, we propose an approach for inferring a single type that combines possible ambiguities on a common language runtime platform.

The solution allows for optimized runtime operations and eliminates most of the overhead caused by the need for representing dynamically typed values during runtime.