Results 1 -
4 of
4
A Categorical Account of Two-Level Languages
- In MFPS
, 1997
"... We give an account of two-level languages in terms of indexed categories and universal properties well-known in the context of categorical logic. This account provides three important insights: establishes precise analogies between two-level languages and module languages, explains the two-level lan ..."
Abstract
-
Cited by 18 (4 self)
- Add to MetaCart
We give an account of two-level languages in terms of indexed categories and universal properties well-known in the context of categorical logic. This account provides three important insights: establishes precise analogies between two-level languages and module languages, explains the two-level languages used in partial evaluation (see [7]) in terms of those used for code generation (see [16]), suggests extensions that should be valuable for type-specialization (see [9]) and shape-analysis (see [1]).
A Transformational Approach which Combines Size Inference and Program Optimization
- Semantics, Applications, and Implementation of Program Generation (SAIG’01), Lecture Notes in Computer Science 2196
, 2001
"... If functional programs are to be used for high-performance computing, efficient data representations and operations must be provided. Our contribution is a calculus for the analysis of the lengths of (nested) lists and a transformation into a form which is liberated from the chain of cons-operations ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
If functional programs are to be used for high-performance computing, efficient data representations and operations must be provided. Our contribution is a calculus for the analysis of the lengths of (nested) lists and a transformation into a form which is liberated from the chain of cons-operations and which sometimes permits array implementations even if the length depends on run-time values. A major advantage of functional programs vs. imperative programs is that dependence analysis is much easier, due to the absence of reassignments. One severe disadvantage of functional programs as of yet is that efficient, machine-oriented data structures (like the array) absolutely necessary for high-performance computing play a minor role in many language implementations since they do not harmonize with functional evaluation schemata (like graph reduction), which are at a higher level of abstraction. We propose to construct programs by composition of skeletons, i.e., functi...
Partial Evaluation of Shaped Programs: Experience with FISh
, 1999
"... FISh is an array-based programming language that combines imperative and functional programming styles. Static shape analysis uses partial evaluation to convert arbitrary programs into simple, efficient imperative programs. ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
FISh is an array-based programming language that combines imperative and functional programming styles. Static shape analysis uses partial evaluation to convert arbitrary programs into simple, efficient imperative programs.

