• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 58
  • 8
  • 5
  • 5
  • 3
  • 1
  • 1
  • 1
  • 1
  • Tagged with
  • 121
  • 121
  • 64
  • 50
  • 44
  • 25
  • 16
  • 13
  • 12
  • 12
  • 12
  • 12
  • 10
  • 10
  • 10
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.

An axiomatic semantics for functional reactive programming

King, 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).

The parallel reduction of lambda calculus expressions

Watson, Paul January 1986 (has links)
No description available.

Higher-order functional languages and intensional logic

Rondogiannis, Panagiotis 10 April 2015 (has links)

Realizability and partiality in constructive set theories

Ḥamīyah, ʿAlī January 1992 (has links)
No description available.

Augmenting trace-based functional debugging

Penney, Alastair William January 2000 (has links)
No description available.

Strictness analysis of lazy functional programs

Benton, Peter Nicholas January 1992 (has links)
No description available.

Names and higher-order functions

Stark, Ian David Bede January 1994 (has links)
Many functional programming languages rely on the elimination of 'impure' features: assignment to variables, exceptions and even input/output. But some of these are genuinely useful, and it is of real interest to establish how they can be reintroducted in a controlled way. This dissertation looks in detail at one example of this: the addition to a functional language of dynamically generated names. Names are created fresh, they can be compared with each other and passed around, but that is all. As a very basic example of state, they capture the graduation between private and public, local and global, by their interaction with higher-order functions. The vehicle for this study is the nu-calculus, an extension of the simply-typed lambdacalculus. The nu-calculus is equivalent to a certain fragment of Standard ML, omitting side-effects, exceptions, datatypes and recursion. Even without all these features, the interaction of name creation with higher-order functions can be complex and subtle. Various operational and denotational methods for reasoning about the nu-calculus are developed. These include a computational metalanguage in the style of Moggi, which distinguishes in the type system between values and computations. This leads to categorical models that use a strong monad, and examples are devised based on functor categories. The idea of logical relations is used to derive powerful reasoning methods that capture some of the distinction between private and public names. These techniques are shown to be complete for establishing contextual equivalence between first-order expressions; they are also used to construct a correspondingly abstract categorical model. All the work with the nu-calculus extends cleanly to Reduced ML, a larger language that introduces integer references: mutable storage cells that are dynamically allocated. It turns out that the step up is quite simple, and both the computational metalanguage and the sample categorical models can be reused.

An investigation of nondeterminism in functional programming languages

Graham, 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.

Static analysis of functional languages

Mountjoy, 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

A declarative debugger for Haskell

Pope, Bernard James Unknown Date (has links) (PDF)
This thesis considers the design and implementation of a Declarative Debugger for Haskell. At its core is a tree which captures the logical dependencies between function calls in a given execution of the program being debugged (the debuggee). The debuggee is transformed into a new Haskell program which produces the tree in addition to its normal value. A bug is identified in the tree when a call returns the wrong result but all the calls it depends upon are correct.

Page generated in 0.1958 seconds