enter search term and/or author name
Efficient subtyping tests with PQ-encoding
Joseph (Yossi) Gil, Yoav Zibin
Given a type hierarchy, a subtyping test determines whether one type is a direct or indirect descendant of another type. Such tests are a frequent operation during the execution of object-oriented programs. The implementation challenge is in a...
Mixin modules in a call-by-value setting
Tom Hirschowitz, Xavier Leroy
The ML module system provides powerful parameterization facilities, but lacks the ability to split mutually recursive definitions across modules and provides insufficient support for incremental programming. A promising approach to solve these issues...
Link-time binary rewriting techniques for program compaction
Bjorn De Sutter, Bruno De Bus, Koen De Bosschere
Small program size is an important requirement for embedded systems with limited amounts of memory. We describe how link-time compaction through binary rewriting can achieve code size reductions of up to 62&percent; for statically bound languages...
An accurate cost model for guiding data locality transformations
Xavier Vera, Jaume Abella, Josep Llosa, Antonio González
Caches have become increasingly important with the widening gap between main memory and processor speeds. Small and fast cache memories are designed to bridge this discrepancy. However, they are only effective when programs exhibit sufficient data...
Functional declarative language design and predicate calculus: a practical approach
In programming language and software engineering, the main mathematical tool is de facto some form of predicate logic. Yet, as elsewhere in applied mathematics, it is used mostly far below its potential, due to its traditional formulation as...