We describe an algorithm for abstract interpretation of an intermediate language in a Haskell compiler, itself also written in Haskell. It computes approximations of possible values for all variables in the program, which can be used for optimizing the object code. The analysis is done by collecting constraints on variables, which are then solved by fixpoint iteration. The set of constraints grows while solving, as possible values of unknown functions become known. The constraints are collected by decorating the abstract syntax tree with an attribute grammar based preprocessor for Haskell. An introduction to this preprocessor is also given.
Associated research group: Minnesota Extensible Language ToolsWhile attribute grammars (AGs) have se...
In this paper we present a new programming technique for lazy functional programming languages. The ...
We propose a framework for specification of programming language semantics, abstract and concrete sy...
AbstractWe describe an algorithm for abstract interpretation of an intermediate language in a Haskel...
technical reportAn attribute grammar combines the standard context-free grammar that defines the syn...
Programming languages are the main tools used to describe models of the real world and algorithms wh...
Ideally complexity is managed by composing a system out of quite a few, more or less independent, an...
A programming language is an essential ingredient for writing concise, maintainable, and error-free ...
Attribute grammars are a suitable formalism to express complex software language analysis and manipu...
Two mappings from attribute grammars to lazy functional programs are defined. One of these mappings ...
Traditionally, an attribute grammar is presented as a context-free grammar which is augmented with a...
The Generic Haskell programming language allows functions to be defined by induction on the structur...
Email sjtukcacuk The functional programming language Haskell is examined from the point of view of ...
For long, attribute grammars have formed an isolated programming formal-ism. We show how we may embe...
Attribute coupled grammars and their descriptional composition were advocated by Ganzinger and Giege...
Associated research group: Minnesota Extensible Language ToolsWhile attribute grammars (AGs) have se...
In this paper we present a new programming technique for lazy functional programming languages. The ...
We propose a framework for specification of programming language semantics, abstract and concrete sy...
AbstractWe describe an algorithm for abstract interpretation of an intermediate language in a Haskel...
technical reportAn attribute grammar combines the standard context-free grammar that defines the syn...
Programming languages are the main tools used to describe models of the real world and algorithms wh...
Ideally complexity is managed by composing a system out of quite a few, more or less independent, an...
A programming language is an essential ingredient for writing concise, maintainable, and error-free ...
Attribute grammars are a suitable formalism to express complex software language analysis and manipu...
Two mappings from attribute grammars to lazy functional programs are defined. One of these mappings ...
Traditionally, an attribute grammar is presented as a context-free grammar which is augmented with a...
The Generic Haskell programming language allows functions to be defined by induction on the structur...
Email sjtukcacuk The functional programming language Haskell is examined from the point of view of ...
For long, attribute grammars have formed an isolated programming formal-ism. We show how we may embe...
Attribute coupled grammars and their descriptional composition were advocated by Ganzinger and Giege...
Associated research group: Minnesota Extensible Language ToolsWhile attribute grammars (AGs) have se...
In this paper we present a new programming technique for lazy functional programming languages. The ...
We propose a framework for specification of programming language semantics, abstract and concrete sy...