Results 1 -
5 of
5
An Implementation of Reynolds' Defunctionalization Method for a Modern Functional Language
- Master's thesis, Oregon Graduate Institute
, 1993
"... x 1 Introduction 1 1.1 Higher Order Functions and Their Elimination : : : : : : : : : : : : : : : 1 1.2 Hof Elimination via Specialization : : : : : : : : : : : : : : : : : : : : : : 2 1.3 Reynolds' Defunctionalization Method : : : : : : : : : : : : : : : : : : : : 3 1.4 Limitations of Reynolds' Met ..."
Abstract
-
Cited by 13 (5 self)
- Add to MetaCart
x 1 Introduction 1 1.1 Higher Order Functions and Their Elimination : : : : : : : : : : : : : : : 1 1.2 Hof Elimination via Specialization : : : : : : : : : : : : : : : : : : : : : : 2 1.3 Reynolds' Defunctionalization Method : : : : : : : : : : : : : : : : : : : : 3 1.4 Limitations of Reynolds' Method : : : : : : : : : : : : : : : : : : : : : : : 4 1.5 Firstify---An Automated Defunctionalization System : : : : : : : : : : : : 5 1.6 Problem Examples : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 6 1.6.1 Identifier Aliasing : : : : : : : : : : : : : : : : : : : : : : : : : : : 6 1.6.2 Hofs With Shared Fvps : : : : : : : : : : : : : : : : : : : : : : : 6 1.6.3 Lambda Abstractions as Fvps : : : : : : : : : : : : : : : : : : : : 7 1.6.4 Multiple Alternate Expressions : : : : : : : : : : : : : : : : : : : : 7 1.6.5 Local Declarations : : : : : : : : : : : : : : : : : : : : : : : : : : : 8 1.6.6 Fvp and Hof Declared at Different Scopes : : : : : : : : : : : : : 8 1.6.7 Polymor...
A Semantics of Compile-time Reflection
, 1993
"... A new language incorporating both ML-style type checking and a limited form of reflection is defined by giving an interpreter and showing how this interpreter may be interpreted as a compositional denotational semantics. The resulting language has a partial function as a compiler, but if the compile ..."
Abstract
-
Cited by 10 (3 self)
- Add to MetaCart
A new language incorporating both ML-style type checking and a limited form of reflection is defined by giving an interpreter and showing how this interpreter may be interpreted as a compositional denotational semantics. The resulting language has a partial function as a compiler, but if the compiler terminates without a type error there will be no type-errors at runtime. Typing issues and first-class environments are discussed as well. 1 Introduction Traditionally reflection and strong typing are found on different sides of the schism that divides the lisp and functional programming communities. This paper introduces Compile-time Reflective ML (CRML), a reflective language with compile-time type checking and run-time type safety[14]. CRML provides a bridge between two rich cultures. When developing CRML, the goal was to create a system that was both expressive and useful, supported higher abstraction mechanisms, and that could be completely type checked at compile-time. The implement...
Query optimization - The CROQUE project
, 1996
"... This paper describes parts of a concept for the evaluation and optimization of ODMGOQL queries. We present a logical object algebra for the internal representation of OQL queries. Algebraic expressions are also represented as query trees. Different optimization techniques are sketched: factorizat ..."
Abstract
-
Cited by 8 (3 self)
- Add to MetaCart
This paper describes parts of a concept for the evaluation and optimization of ODMGOQL queries. We present a logical object algebra for the internal representation of OQL queries. Algebraic expressions are also represented as query trees. Different optimization techniques are sketched: factorization of common subexpressions, dependency-based optimization and query rewriting. Afterwards, execution plan generation from query trees is presented. The transformation of physical queries into ObjectStore DML code and the developed cost model for the calculation of the costs of the execution plans are not considered here. Keywords: OQL, logical and physical algebra, optimization of object-oriented queries. 1 Introduction In the framework of the CROQUE project 1 we focus on the development of optimization techniques for object databases. Central topics of our work are examinations about rule-based rewriting of algebraic queries, cost-based selection of evaluation mechanisms for obje...
Query Rewriting and Search in CROQUE
, 1998
"... . In query optimization, a given query will be transformed by rewrite rules into an equivalent execution plan that is cheaper than the straightforwardly assigned plan according to some cost model. Finding the cheapest of all equivalent execution plans is a challenge since the rewriting of complex qu ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
. In query optimization, a given query will be transformed by rewrite rules into an equivalent execution plan that is cheaper than the straightforwardly assigned plan according to some cost model. Finding the cheapest of all equivalent execution plans is a challenge since the rewriting of complex queries on the basis of a large set of rewriting rules may potentially span a very large space of equivalent plans. Consequently, one has to either use search strategies to explore (parts of) the search space or some heuristics to prune this space thus making it efficiently traversable. This paper presents the use of search strategies in the CROQUE project. The adaptation of some common strategies led to the development of a simple but powerful heuristics which is demonstrated by examples executed in the CROQUE prototype. The proposed heuristics can support any random--based search strategy or can be used stand--alone. It may be integrated seamlessly into most of the present query optimizers w...
Type Safe Meta-Programming
, 1994
"... This paper advances a general theory of "generator" systems which is used to attack several well known problems associated with the use of program generators. ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
This paper advances a general theory of "generator" systems which is used to attack several well known problems associated with the use of program generators.

