Open Access. Powered by Scholars. Published by Universities.®
Programming Languages and Compilers Commons™
Open Access. Powered by Scholars. Published by Universities.®
- Discipline
- Keyword
-
- Functional programming (Computer science) (4)
- Compilers (Computer programs) (2)
- Functional programming languages (2)
- Programming languages (Electronic computers) (2)
- Algebra. (1)
-
- Computer (1)
- Computer algorithms (1)
- Computer architecture (1)
- Computer systems -- Design and construction (1)
- Computer systems -- Verification (1)
- Curry-Howard isomorphism (1)
- Data fusion (1)
- Database design (1)
- Electronic data processing -- Distributed processing (1)
- Epipolar (1)
- Fusion (1)
- Geometry (1)
- Gödel (Computer program language) (1)
- Graph rewriting (1)
- Haskell (Computer program language) (1)
- Image processing (1)
- Kalman (1)
- Lambda calculus (1)
- Localization (1)
- Logic programming (1)
- Mapping (1)
- Mathematical optimization (1)
- Microsoft Windows NT (1)
- Parallel programming (Computer science) (1)
- Programming language implementation (1)
Articles 1 - 12 of 12
Full-Text Articles in Programming Languages and Compilers
Making Curry With Rice: An Optimizing Curry Compiler, Steven Libby
Making Curry With Rice: An Optimizing Curry Compiler, Steven Libby
Dissertations and Theses
In this dissertation we present the RICE optimizing compiler for the functional logic language Curry. This is the first general optimizing compiler for a functional logic language. Our work is based on the idea of compiling through program transformations, which we have adapted from the functional language compiler community. We also present the GAS system for generating new program transformations, which uses the power of functional logic programming to provide a flexible framework for describing transformations. This allows us to describe and implement a wide range of optimizations including inlining, shortcut deforestation, unboxing, and case shortcutting, a new optimization we …
V-Slam And Sensor Fusion For Ground Robots, Ejup Hoxha
V-Slam And Sensor Fusion For Ground Robots, Ejup Hoxha
Dissertations and Theses
In underground, underwater and indoor environments, a robot has to rely solely on its on-board sensors to sense and understand its surroundings. This is the main reason why SLAM gained the popularity it has today. In recent years, we have seen excellent improvement on accuracy of localization using cameras and combinations of different sensors, especially camera-IMU (VIO) fusion. Incorporating more sensors leads to improvement of accuracy,but also robustness of SLAM. However, while testing SLAM in our ground robots, we have seen a decrease in performance quality when using the same algorithms on flying vehicles.We have an additional sensor for ground …
Scalable Equivalence Checking For Behavioral Synthesis, Zhenkun Yang
Scalable Equivalence Checking For Behavioral Synthesis, Zhenkun Yang
Dissertations and Theses
Behavioral synthesis is the process of compiling an Electronic System Level (ESL) design to a register-transfer level (RTL) implementation. ESL specifications define the design functionality at a high level of abstraction (e.g., with C/C++ or SystemC), and thus provide a promising approach to address the exacting demands to develop feature-rich, optimized, and complex hardware systems within aggressive time-to-market schedules. Behavioral synthesis entails application of complex and error-prone transformations during the compilation process. Therefore, the adoption of behavioral synthesis highly depends on our ability to ensure that the synthesized RTL conforms to the ESL description. This dissertation provides an end-to-end scalable …
The Nax Language: Unifying Functional Programming And Logical Reasoning In A Language Based On Mendler-Style Recursion Schemes And Term-Indexed Types, Ki Yung Ahn
Dissertations and Theses
Two major applications of lambda calculi in computer science are functional programming languages and mechanized reasoning systems (or, proof assistants). According to the Curry--Howard correspondence, it is possible, in principle, to design a unified language based on a typed lambda calculus for both logical reasoning and programming. However, the different requirements of programming languages and reasoning systems make it difficult to design such a unified language that provides both. Programming languages usually extend lambda calculi with programming-friendly features (e.g., recursive datatypes, general recursion) for supporting the flexibility to model various computations, while sacrificing logical consistency. Logical reasoning systems usually extend …
Assessing Satellite Image Data Fusion With Information Theory Metrics, James Cross
Assessing Satellite Image Data Fusion With Information Theory Metrics, James Cross
Dissertations and Theses
A common problem in remote sensing is estimating an image with high spatial and high spectral resolution given separate sources of measurements from satellite instruments, one having each of these desirable properties. This thesis presents a survey of seven families of algorithms which have been developed to provide this common pattern of satellite image data fusion. They are all tested on artificially degraded sets of satellite data from the Moderate Resolution Imaging Spectroradiometer (“MODIS”) with known ideal results, and evaluated using the commonly accepted data fusion assessment metrics spectral angle mapper (“SAM”) and Erreur Relative Globale Adimensionelle de Synth`ese (“ERGAS”). …
Type Classes And Instance Chains: A Relational Approach, John Garrett Morris
Type Classes And Instance Chains: A Relational Approach, John Garrett Morris
Dissertations and Theses
Type classes, first proposed during the design of the Haskell programming language, extend standard type systems to support overloaded functions. Since their introduction, type classes have been used to address a range of problems, from typing ordering and arithmetic operators to describing heterogeneous lists and limited subtyping. However, while type class programming is useful for a variety of practical problems, its wider use is limited by the inexpressiveness and hidden complexity of current mechanisms. We propose two improvements to existing class systems. First, we introduce several novel language features, instance chains and explicit failure, that increase the expressiveness of type …
The Basic Scheme For The Evaluation Of Functional Logic Programs, Arthur Peters
The Basic Scheme For The Evaluation Of Functional Logic Programs, Arthur Peters
Dissertations and Theses
Functional logic languages provide a powerful programming paradigm combining the features of functional languages and logic languages. However, current implementations of functional logic languages are complex, slow, or both. This thesis presents a scheme, called the Basic Scheme, for compiling and executing functional logic languages based on non-deterministic graph rewriting. This thesis also describes the implementation and optimization of a prototype of the Basic Scheme. The prototype is simple and performs well compared to other current implementations.
Structured Web Databases, Shuang Li
Structured Web Databases, Shuang Li
Dissertations and Theses
Recent research has focused on the cooperation of web server and database server software in the deployment of data-intensive web sites. That work has focused either on storing data in a database that can be used to generate the contents of a web site, or on providing interfaces and gateways to enable queries to be invoked from web pages and executed at external database servers.
This thesis describes the implementation of a prototype of the Data Web system that is being implemented at Portland State University. With Data Web, a user can embed in a web page virtual tables that …
Continuation-Passing Style Versus Direct Style: Choosing An Intermediate Representation For Higher-Order Applicative Languages, Paul Andrew Seale
Continuation-Passing Style Versus Direct Style: Choosing An Intermediate Representation For Higher-Order Applicative Languages, Paul Andrew Seale
Dissertations and Theses
This study analyzes the use of a continuation-passing style (CPS) intermediate representation versus a direct style intermediate representation in the compilation of a higher-order applicative language. The translator used accepts a program written in an ML-like language as input, and outputs a C program acceptable to a standard C compiler. The effects of the translator's simplification and higher-order function removal transformations on the intermediate language are the primary focus of the analysis. The machine code programs generated from both representations are also analyzed.
Initially, the programs under the direct style representation performed better than those that underwent the CPS transformation. …
Usability Of Visual Basic For Parallel Programming On Windows Nt, James Scott Barker
Usability Of Visual Basic For Parallel Programming On Windows Nt, James Scott Barker
Dissertations and Theses
Visual Basic is a very popular language. Many hardware engineers have learned Visual Basic because of its simplicity, but have never learned C or C++. Furthermore, people are choosing not to use C or C++ for business software development, but instead are embracing languages such as Visual Basic. Since one of the goals of the parallel programming community has been to encourage more widespread use of parallelism in software, this body of programming talent needs to be addressed.
This thesis intends to prove that Visual Basic can be used for parallel programming, that using it is at least as easy …
Compiling Evaluable Functions In The GöDel Programming Language, David Shapiro
Compiling Evaluable Functions In The GöDel Programming Language, David Shapiro
Dissertations and Theses
We present an extension of the Gödel logic programming language code generator which compiles user-defined functions. These functions may be used as arguments in predicate or goal clauses. They are defined in extended Gödel as rewrite rules. A translation scheme is introduced to convert function definitions into predicate clauses for compilation. This translation scheme and the compilation of functional arguments both employ leftmost-innermost narrowing. As function declarations are indistinguishable from constructor declarations, a function detection method is implemented.
The ultimate goal of this research is the implementation of extended Gödel using needed narrowing. The work presented here is …
Compiling Ace For Distributed-Memory Machines, Jun Song
Compiling Ace For Distributed-Memory Machines, Jun Song
Dissertations and Theses
Distributed-memory machines offer a very high level of performance, flexibility and scalability. But the memory organization of this kind of machine determines that processes on different processors must communicate explicitly by sending and receiving messages. As a result, the programmer faces the enormously difficult task of detailed planning of algorithm-irrelevant, low-level communication issues. This level of programming resembles writing assembly programs for a sequential machine.
ACE is a message-passing language with abstract communication statements. It was defined by Dr. Jingke Li at Portland State University. The communication in ACE is still explicit, but it is abstracted to a higher level. …