Results 11 
16 of
16
Optimising Compilation  Part II: lazy functional languages
, 1992
"... : This lecture considers the optimisation of functional programming languages (particularly `lazy' languages) based on `strictness analysis'. Such optimisations alter evaluation order to allow more efficient translation into von Neumann architecture or to increase the parallelism in a sequentially s ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
: This lecture considers the optimisation of functional programming languages (particularly `lazy' languages) based on `strictness analysis'. Such optimisations alter evaluation order to allow more efficient translation into von Neumann architecture or to increase the parallelism in a sequentially specified system (such as that implied by lazysemantics) . Keywords: Functional languages, lazy evaluation, eager evaluation, strictness analysis, abstract interpretation. 1 Functional Languages The term `functional' as applied to programming languages has been used to apply to a number of related but different models of computation. As used here it will refer to purely functional languages, characterised by a complete lack of sideeffects and a very direct relationship with the calculus. This rules out languages such as ML and Lisp which, although emphasising the status of functions in the construction of programming and containing wellunderstood pure subsets, include forms of assignmen...
Fast Strictness Analysis Based on Demand Propagation
 ACM Transactions on Programming Languages and Systems
, 1995
"... Interpretation versus Demand Propagation Wadler [1987] uses abstract interpretation over a fourpoint domain for reasoning about strictness on lists. The four points correspond to undefined list (represented by value 0), infinite lists and lists with some tail undefined (value 1), lists with at lea ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
Interpretation versus Demand Propagation Wadler [1987] uses abstract interpretation over a fourpoint domain for reasoning about strictness on lists. The four points correspond to undefined list (represented by value 0), infinite lists and lists with some tail undefined (value 1), lists with at least one head undefined (value 2), and all lists (value 3). Burn's work [Burn 1987] on evaluation transformers also uses abstract interpretation on the abovementioned domain for strictness analysis. He defines four evaluators that correspond to the four points mentioned above in the sense that the ith evaluator will fail to produce an answer when given a list with the abstract value i \Gamma 1.
A General Framework for Analyzing SharedMemory Parallel Programs
, 1992
"... Explicit parallelism greatly complicates the program semantics, especially if concurrent activities are allowed to interact with each other through shared variables. Existing compiler analysis and optimization techniques for sequential programs must be carefully examined before they can be safely ap ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Explicit parallelism greatly complicates the program semantics, especially if concurrent activities are allowed to interact with each other through shared variables. Existing compiler analysis and optimization techniques for sequential programs must be carefully examined before they can be safely applied to parallel programs. In this paper, we present a general framework for analyzing programs with cobegin parallelism, which is based on state space exploration. Reducing the explosion of state space is necessary to make compiletime analysis feasible. This state space explosion problem is relieved first by eliminating redundant interleaving, through the stubborn set theory. Then, abstract interpretation techniques are employed which provide systematic methods for folding related states for further state space reduction. With this framework, we have developed static analysis for obtaining program properties, such as side effects, data dependences, and object lifetimes. The information ob...
Z1: A Data Flow Analyzer Generator
"... We have developed a software tool called Z1 by which one can quickly achieve an accurate yet affordable program analysis. The user writes an analysis specification and sets a parameter for a desired costaccuracy tradeoff. The tool then creates an executable analyzer that has the specified performan ..."
Abstract
 Add to MetaCart
We have developed a software tool called Z1 by which one can quickly achieve an accurate yet affordable program analysis. The user writes an analysis specification and sets a parameter for a desired costaccuracy tradeoff. The tool then creates an executable analyzer that has the specified performance balance. Z1 has been used for developing both conventional and nonconventional flow analyses. These analyses were for programs written in C, FORTRAN, and Standard ML, without restriction upon the programs treated. We present experimental data showing the performances of Z1 for analyzing C, FORTRAN, and Standard ML programs. Index Terms: data flow analysis, abstract interpretation, global program analysis, collecting analysis, lattice, projection Correspondence: Kwangkeun Yi, kwang@research.att.com AT&T Bell Laboratories, Rm 2A421, Murray Hill, NJ 07974, USA. A preliminary version of this paper appeared in the Proceedings of the 20th ACM SIGPLANSIGACT Symposium on Principles of Prog...
Strictness Properties of Lazy Algebraic
"... A new construction of a finite set of strictness properties for any lazy algebraic datatype is presented. The construction is based on the categorical view of the solutions to the recursive domain equations associated with such types as initial algebras. We then show how the initial algebra inductio ..."
Abstract
 Add to MetaCart
A new construction of a finite set of strictness properties for any lazy algebraic datatype is presented. The construction is based on the categorical view of the solutions to the recursive domain equations associated with such types as initial algebras. We then show how the initial algebra induction principle can be used to reason about the entailment relation on the chosen collection of properties. We examine the lattice of properties given by our construction for the type nlist of lazy lists of natural numbers and give proof rules which extend the conjunctive strictness logic of [2] to a language including the type nlist. 1