Spelling suggestions: "subject:"biunctional programming languages"" "subject:"5functional programming languages""
1 |
An investigation of nondeterminism in functional programming languagesGraham, Gwyneth Clare January 1997 (has links)
This thesis investigates nondeterminism in functional programming languages. To establish a precise understanding of nondeterministic language properties, Sondergaard and Sestoft's analysis and definitions of functional language properties are adopted as are the characterizations of weak and strong nondeterminism. This groundwork is followed by a denotational semantic description of a nondeterministic language (suggested by Sondergaard and Sestoft). In this manner, a precise characterization of the effects of strong nondeterminism is developed. Methods used to hide nondeterminism to in order to overcome or sidestep the problem of strong nondeterminism in pure functional languages are defined. These different techniques ensure that functional languages remain pure but also include some of the advantages of nondeterminism. Lastly, this discussion of nondeterminism is applied to the area of functional parallel language implementation to indicate that the related problem and the possible solutions are not purely academic. This application gives rise to an interesting discussion on optimization of list parallelism. This technique relies on the ability to decide when a bag may be used instead of a list.
|
2 |
Static analysis of functional languagesMountjoy, Jon-Dean 10 October 2012 (has links)
Static analysis is the name given to a number of compile time analysis techniques used to automatically generate information which can lead to improvements in the execution performance of function languages. This thesis provides an introduction to these techniques and their implementation. The abstract interpretation framework is an example of a technique used to extract information from a program by providing the program with an alternate semantics and evaluating this program over a non-standard domain. The elements of this domain represent certain properties of interest. This framework is examined in detail, as well as various extensions and variants of it. The use of binary logical relations and program logics as alternative formulations of the framework , and partial equivalence relations as an extension to it, are also looked at. The projection analysis framework determines how much of a sub-expression can be evaluated by examining the context in which the expression is to be evaluated, and provides an elegant method for finding particular types of information from data structures. This is also examined. The most costly operation in implementing an analysis is the computation of fixed points. Methods developed to make this process more efficient are looked at. This leads to the final chapter which highlights the dependencies and relationships between the different frameworks and their mathematical disciplines. / KMBT_223
|
3 |
Linearity and lazinessWakeling, David January 1990 (has links)
No description available.
|
4 |
Semantics and type checking of dependently-typed lazy functional programs /Hünke, Yorck. January 2004 (has links)
Based on the author's D. Phil. Thesis (University of Oxford). / Includes bibliographical references. Available on-line.
|
5 |
Higher order strictness analysis by abstract interpretation over finite domainsFerguson, Alexander B. January 1995 (has links)
No description available.
|
6 |
Compiling Irregular Software to Specialized HardwareTownsend, Richard Morse January 2019 (has links)
High-level synthesis (HLS) has simplified the design process for energy-efficient hardware accelerators: a designer specifies an accelerator’s behavior in a “high-level” language, and a toolchain synthesizes register-transfer level (RTL) code from this specification. Many HLS systems produce efficient hardware designs for regular algorithms (i.e., those with limited conditionals or regular memory access patterns), but most struggle with irregular algorithms that rely on dynamic, data-dependent memory access patterns (e.g., traversing pointer-based structures like lists, trees, or graphs). HLS tools typically provide imperative, side-effectful languages to the designer, which makes it difficult to correctly specify and optimize complex, memory-bound applications.
In this dissertation, I present an alternative HLS methodology that leverages properties of functional languages to synthesize hardware for irregular algorithms. The main contribution is an optimizing compiler that translates pure functional programs into modular, parallel dataflow networks in hardware. I give an overview of this compiler, explain how its source and target together enable parallelism in the face of irregularity, and present two specific optimizations that further exploit this parallelism. Taken together, this dissertation verifies my thesis that pure functional programs exhibiting irregular memory access patterns can be compiled into specialized hardware and optimized for parallelism.
This work extends the scope of modern HLS toolchains. By relying on properties of pure functional languages, our compiler can synthesize hardware from programs containing constructs that commercial HLS tools prohibit, e.g., recursive functions and dynamic memory allocation. Hardware designers may thus use our compiler in conjunction with existing HLS systems to accelerate a wider class of algorithms than before.
|
7 |
An axiomatic semantics for functional reactive programmingKing, Christopher T. January 2008 (has links)
Thesis (M.S.)--Worcester Polytechnic Institute. / Keywords: Coq; monads; functional reactive programming; formal verification. Includes bibliographical references (leaves 31-32).
|
8 |
Parallel programming using functional languagesRoe, Paul. January 1991 (has links)
Thesis (Ph.D.) -- University of Glasgow, 1991. / Print version also available. Mode of access : World Wide Web. System requirements : Adobe Acrobat reader required to view PDF document.
|
9 |
Generalized algebraic datatypes a different approach /Le Normand, Jacques. January 1900 (has links)
Thesis (M.Sc.). / Written for the Dept. of Computer Science. Title from title page of PDF (viewed 2007/08/30). Includes bibliographical references.
|
10 |
Algebraic specification and verification of processor microarchitectures /Matthews, John Robert, January 2000 (has links)
Thesis (Ph. D.)--Oregon Graduate Institute, 2000.
|
Page generated in 0.1146 seconds