#### Filter Results:

#### Publication Year

1993

2007

#### Publication Type

#### Co-author

#### Publication Venue

#### Key Phrases

Learn More

A number of useful optimisations are enabled if we can determine when a value is accessed at most once. We extend the Hindley-Milner type system with uses, yielding a type-inference based program analysis which determines when values are accessed at most once. Our analysis can handle higher-order functions and data structures, and admits principal types for… (More)

Binding time analysis is an important part of off-line partial evaluation, annotating expressions as being safely evaluable from known data or possibly depending on unknown data. Most binding-time analyses have been monovariant, allowing only one binding-time description for each function. The idea of polyvariance is to allow multiple binding time… (More)

AnnoDomini is a source-to-source conversion tool for making COBOL programs Year 2000 compliant. It is technically and conceptually built upon type-theoretic techniques and methods: type-based specification, program analysis by type inference and type-directed transformation. These are combined into an integrated software reengineering tool and method for… (More)

The combination of parameter polymorphism, subtyping extended to qualified and polymorphic types, and polymorphic recursion is useful in standard type inference and gives expressive type-based program analyses, but raises difficult algorithmic problems. In a program analysis context we show how Mycroft's iterative method of computing principal types for a… (More)

We present a type-based flow analysis for simply typed lambda calculus with booleans, data-structures and recursion. The analysis is exact in the following sense: if the analysis predicts a redex, then there exists a reduction sequence (using standard reduction plus context propagation rules) such that this redex will be reduced. The precision is… (More)

Applications of partial evaluation have so far mainly focused on generation of compilers from interpreters for programming languages. We partially evaluate a simple general <italic>LR(k)</italic> parsing algorithm. To obtain good results, we rewrite the algorithm using a number of binding-time improvements. The final LR(1) parser has been specialized using… (More)

The concepts of value-and control-ow graphs are important for program analysis of imperative programs. An imperative value ow graph can be constructed by a single pass over the program text. No similar concepts exist for higher-order languages: we propose a method for constructing value ow graphs for typed higher-order functional languages. A higher-order… (More)

AnnoDomini is a commercially available source-to-source conversion tool for nding and xing Year 2000 problems in COBOL programs. AnnoDomini uses type-based speciication, analysis, and transformation to achieve its main design goals: exibility, completeness, cor-rectness, and a high degree of safe automation.

- Christian Mossin
- 1994

A number of useful optimisations are enabled if we can determine when a value is accessed at most once. We extend the Hindley-Milner type system with uses, yielding a type-inference based program analysis which determines when values are accessed at most once. Our analysis can handle higher-order functions and data structures, and admits principal types for… (More)