Effectiveness of Annotation-Based Static Type Inference
نویسندگان
چکیده
Benefits of static type systems are well-known: they offer guarantees that no error will occur during runtime and, inherently, inferred types serve as documentation on how functions called. On the other hand, many have to limit expressiveness language because, in general, it is undecidable whether a given program correct regarding types. Another concern was not addressed so far that, for logic programming languages such Prolog, impossible distinguish between intended and unintended failure worse, success without additional annotations.
منابع مشابه
Efficient Annotation Inference for an Extended Static Checker
(Submission to SAS’01.) A modular static program checker relies on annotations specifying module interfaces. Writing annotations is a burden to the programmer. The Houdini algorithm is a whole-program analysis that reduces this burden by inferring many annotations automatically. The basic Houdini algorithm infers useful annotations for an extended static checker, but is very slow. This paper de...
متن کاملAnnotation-less Unit Type Inference for C
Types in programming languages are crucial for catching errors at compile-time. Similarly, in scientific applications, the units system forms a type discipline because a correct equation must necessarily include terms with units that are equivalent on both sides. Many scientific and numerically-oriented programs are written in C, but the language provides no support for attaching units to varia...
متن کاملA Static Type Inference for Python
Dynamic languages, like Python, are attractive because they guarantee that no correct program is rejected prematurely. However, this comes at a price of losing early error detection, and making both code optimization and certification harder tasks when compared with static typed languages. Having the static certification of Python programs as a goal, we developed a static type inference system ...
متن کاملA Semantics for Static Type Inference
Curry’s system for F-deducibility is the basis for static type inference algorithms for programming languages such as ML. If a natural “preservation of types by conversion” rule is added to Curry’s system, it becomes undecidable, but complete relative to a variety of model classes. We show completeness for Curry’s system itself, relative to an extended notion of model that validates reduction b...
متن کاملAnnotation-based inference of transporter function
MOTIVATION We present a method for inferring and constructing transport reactions for transporter proteins based primarily on the analysis of the names of individual proteins in the genome annotation of an organism. Transport reactions are declarative descriptions of transporter activities, and thus can be manipulated computationally, unlike free-text protein names. Once transporter activities ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Lecture Notes in Computer Science
سال: 2021
ISSN: ['1611-3349', '0302-9743']
DOI: https://doi.org/10.1007/978-3-030-75333-7_5