for Polya the mathematical logician
Programming language developed at Cornell by Gries for teaching programming (instead of the prevailingly fashionable for Java and C++)
Developed at Cornell University, introduces a new programming language construct, called the transform, for expressing coordinate transformations.
Gries, D. and Volpano, D. "The Transform - a New Language Construct" Structured Programming, 11:1--10, 1990. view details
van den Berg, Aswin; Gries, David; & Sofoklis Efremida "Incremental Evaluation of Higher Order Attribute Grammars" Report on the Dagstuhl Seminar on Incremental Computation and Dynamic Algorithms May 2 6, 1994 view details
Abstract: Normal order attribute grammars have a separation between syntactic and semantic levels (between derivation trees and attributes). This restricts AG's to only constant phase transformations. In higher order attribute grammars (HAG's) derivation trees can be defined in terms of attributes (NTA's) and attributes can reference derivation trees directly (syntactic references). This enables the iteration of transformations and annotations to be modeled or implemented. We discuss HAG's and their efficient incremental implementation. To allow constant time access to attributes we explicitly maintain the attributed tree. Higher order evaluation is reduced to normal order evaluation with side-effects that extend the derivation tree. An algorithm is presented that reuses reusable subtrees of an NTA when re-evaluated.
Our methods have been implemented in the current version of the Synthesizer Generator. HAG functionality is used the implementation of the Polya transformation system that was demonstrated during the Seminar.
Fegaras, Leonidas and Stemple, David "Using Type Transformation in Database System Implementation" Department of Computer and Information Science University of Massachusetts, Amherst view details
Abstract: Polya, developed at Cornell University, introduces a new programming language construct, called the transform, for expressing coordinate transformations. Each transform includes a coordinate transformation
from a set of abstract variables to a set of concrete variables and explicit transformation rules to map each individual expression or statement that works on abstract variables into the corresponding one that works on concrete variables. Each part of an abstract program must match exactly with one of these patterns in order to be compiled
- Report page at Cornell
My research is aimed at gaining a better understanding of the programming process, with respect to both sequential and concurrent (or parallel) programs. The work requires investigation of theories of program correctness and their application, as well as investigation of other concepts in the semantics of programming languages. A procedural programming language, Polya, is being defined and implemented. We are attempting to make the language in which algorithms are usually presented the programming language, but without loss of efficiency. This has entailed work in the theory of polymorphic types and type inference as well as the development of new constructs for defining types and for describing the implementation of variables. The hope is that this work will advance the state of the art of reusability of program parts and will raise the level at which programs are written
- Yanhong Annie Liu research on optimization using Polya
In addition, based on the study of Polya, a programming language being implemented at Cornell by the group of Professor David Gries, we are investigating the interplay between program optimization and modularity (or abstraction), which is crucial for generating efficient code in program refinement and object-oriented programming. Another goal of this research is to develop methods for parallel/concurrent computations by incrementalizing across processors and analyzing asynchronous computations.