Results 11 -
15 of
15
Improving the Lazy Krivine Machine
- HIGHER-ORDER AND SYMBOLIC COMPUTATION
, 2004
"... Krivine presents the machine, which produces weak head normal form results. Sestoft introduces several call-by-need variants of the machine that implement result sharing via pushing update markers on the stack in a way similar to the TIM and the STG machine. When a sequence of consecutive mark ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
Krivine presents the machine, which produces weak head normal form results. Sestoft introduces several call-by-need variants of the machine that implement result sharing via pushing update markers on the stack in a way similar to the TIM and the STG machine. When a sequence of consecutive markers appears on the stack, all but the first cause redundant updates. Improvements related to these sequences have dealt with either the consumption of the markers or the removal of the markers once they appear. Here we present an improvement that eliminates the production of marker sequences of length greater than one. This improvement results in the machine, a more space and time e#cient variant of K. We then apply
Interprocedural Analysis Based on PDAs
, 1997
"... . We systematically explore the design space of constraint systems for interprocedural analysis both of imperative and logic languages. Our framework is based on a small-step operational semantics where both the concrete and the abstract operational semantics are formalized by means of (input-free) ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
. We systematically explore the design space of constraint systems for interprocedural analysis both of imperative and logic languages. Our framework is based on a small-step operational semantics where both the concrete and the abstract operational semantics are formalized by means of (input-free) pushdown automata. We consider the analysis problem of derivability and present constraint systems for a corresponding relational analysis with forward as well as backward (intraprocedural) accumulation. We abstract these constraint systems to obtain constraint systems for corresponding functional analyses. We clarify the relative precision of forward versus backward accumulation in presence of more or less complex intraprocedural control-flow graphs. 1 Introduction Static analysis aims at computing statements about the runtime behavior of a program without actually executing the program. We propose a general framework for interprocedural analysis based on a small-step operational semanti...
Algebraic Languages: A Bridge Between Combinatorics and Computer Science
, 1994
"... We describe the classical Schützenberger methodology and two extensions: grammars with operators and q-grammars. ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
We describe the classical Schützenberger methodology and two extensions: grammars with operators and q-grammars.
CASE - A Lazy Version of an SECD Machine with a Flat Environment
- in Proceedings TENCON '89
, 1990
"... Graph reduction has been the basis of most fast running implementations of functional languages, with little attention being paid recently to Landin's SECD approach. CASE is an abstract machine which supports applicative programming and is a variation of Landin's classical SECD machine. Its environm ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
Graph reduction has been the basis of most fast running implementations of functional languages, with little attention being paid recently to Landin's SECD approach. CASE is an abstract machine which supports applicative programming and is a variation of Landin's classical SECD machine. Its environment is organized in a novel way which makes variable access more efficient by removing the overhead of following a static chain or of setting up a display as in more conventional stack architectures. The CASE machine also has features allowing the execution of code to reflect lazy evaluation semantics. We describe the architecture of the machine, its operational semantics, and code generated by a typical compiler for some sample programs. We also discuss some optimisations made to facilitate efficient code generation on real hardware and give some measurements of the efficiency of the machine. 1 Introduction Much current research on graph reduction for applicative programming is centred ro...
Edsger Dijkstra
, 2003
"... this paper -- now I fear there are generations who have never heard of it. If you are a member of one of these generations let me urge you to go find it in the CACM, and read it ..."
Abstract
- Add to MetaCart
this paper -- now I fear there are generations who have never heard of it. If you are a member of one of these generations let me urge you to go find it in the CACM, and read it

