Results 11  20
of
25
FUNDIO: A LambdaCalculus with a letrec, case, Constructors, and an IOInterface: Approaching a Theory of unsafePerformIO
, 2003
"... This paper proposes a nonstandard way to combine lazy functional languages with I/O. In order to demonstrate the usefulness of the approach, a tiny lazy functional core language “FUNDIO”, which is also a callbyneed lambda calculus, is investigated. The syntax of “FUNDIO ” has case, letrec, constr ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
This paper proposes a nonstandard way to combine lazy functional languages with I/O. In order to demonstrate the usefulness of the approach, a tiny lazy functional core language “FUNDIO”, which is also a callbyneed lambda calculus, is investigated. The syntax of “FUNDIO ” has case, letrec, constructors and an IOinterface: its operational semantics is described by smallstep reductions. A contextual approximation and equivalence depending on the inputoutput behavior of normal order reduction sequences is defined and a context lemma is proved. This enables to study a semantics of “FUNDIO ” and its semantic properties. The paper demonstrates that the technique of complete reduction diagrams enables to show a considerable set of program transformations to be correct. Several optimizations of evaluation are given, including strictness optimizations and an abstract machine, and shown to be correct w.r.t. contextual equivalence. Correctness of strictness optimizations also justifies correctness of parallel evaluation.
Thus this calculus has a potential to integrate nonstrict functional programming with a nondeterministic approach to inputoutput and also to provide a useful semantics for this combination.
It is argued that monadic IO and unsafePerformIO can be combined in Haskell, and that the result is reliable, if all reductions and transformations are correct w.r.t. to the FUNDIOsemantics. Of course, we do not address the typing problems the are involved in the usage of Haskell’s
unsafePerformIO.
The semantics can also be used as a novel semantics for strict functional languages with IO, where the sequence of IOs is not fixed.
Games for Verification: Algorithmic Issues
, 2000
"... This dissertation deals with a number of algorithmic problems motivated by computer aided formal verification of finite state systems. The goal of formal verification is to enhance the design and development of complex systems by providing methods and tools for specifying and verifying correctness o ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
This dissertation deals with a number of algorithmic problems motivated by computer aided formal verification of finite state systems. The goal of formal verification is to enhance the design and development of complex systems by providing methods and tools for specifying and verifying correctness of designs. The success of formal methods in practice depends heavily on the degree of automation of development and verification process. This motivates development of efficient algorithms for problems underlying many verification tasks. Two
Unique Fixed Point Induction for McCarthy's Amb
 IN: PROCEEDINGS OF THE 24TH INTERNATIONAL SYMPOSIUM ON MATHEMATICAL FOUNDATIONS OF COMPUTER SCIENCE, ”LNCS” 1672
, 1999
"... We develop an operational theory of higherorder functions, recursion, and fair nondeterminism for a nontrivial, higherorder, callbyname functional programming language extended with McCarthy's amb. Implemented via fair parallel evaluation, functional programming with amb is very expressive. ..."
Abstract

Cited by 7 (2 self)
 Add to MetaCart
We develop an operational theory of higherorder functions, recursion, and fair nondeterminism for a nontrivial, higherorder, callbyname functional programming language extended with McCarthy's amb. Implemented via fair parallel evaluation, functional programming with amb is very expressive. However, conventional semantic fixed point principles for reasoning about recursion fail in the presence of fairness. Instead, we adapt higherorder operational methods to deal with fair nondeterminism. We present two natural semantics, describing mayand mustconvergence, and define a notion of contextual equivalence over these two modalities. The presence of amb raises special difficulties when reasoning about contextual equivalence. In particular, we report on a challenging open problem with regard to the validity of bisimulation proof methods. We develop two sound and useful reasoning methods which, in combination, enable us to prove a rich collection of laws for contextual...
A Generic Operational Metatheory for Algebraic Effects ∗
"... We provide a syntactic analysis of contextual preorder and equivalence for a polymorphic programming language with effects. Our approach applies uniformly to arbitrary algebraic effects, and thus incorporates, as instances: errors, input/output, global state, nondeterminism, probabilistic choice, an ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
We provide a syntactic analysis of contextual preorder and equivalence for a polymorphic programming language with effects. Our approach applies uniformly to arbitrary algebraic effects, and thus incorporates, as instances: errors, input/output, global state, nondeterminism, probabilistic choice, and combinations thereof. Our approach is to extend Plotkin and Power’s structural operational semantics for algebraic effects (FoSSaCS 2001) with a primitive “basic preorder ” on ground type computation trees. The basic preorder is used to derive notions of contextual preorder and equivalence on program terms. Under mild assumptions on this relation, we prove fundamental properties of contextual preorder (hence equivalence) including extensionality properties, a characterisation via applicative contexts, and machinery for reasoning about polymorphism using relational parametricity. 1.
HigherOrder Program Generation
, 2001
"... This dissertation addresses the challenges of embedding programming languages, specializing generic programs to specific parameters, and generating specialized instances of programs directly as executable code. Our main tools are higherorder programming techniques and automatic program generation. ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
This dissertation addresses the challenges of embedding programming languages, specializing generic programs to specific parameters, and generating specialized instances of programs directly as executable code. Our main tools are higherorder programming techniques and automatic program generation. It is our thesis that they synergize well in the development of customizable software.
Algorithms in Computational Biology
, 1999
"... In this thesis we are concerned with the construction of algorithms that address problems of biological relevance. This activity is part of a broader... ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
In this thesis we are concerned with the construction of algorithms that address problems of biological relevance. This activity is part of a broader...
Characteristic Formulae for FixedPoint Semantics: A General Framework
 UNDER CONSIDERATION FOR PUBLICATION IN MATH. STRUCT. IN COMP. SCIENCE
, 2010
"... The literature on concurrency theory offers a wealth of examples of characteristicformula constructions for various behavioural relations over finite labelled transition systems and Kripke structures that are defined in terms of fixed points of suitable functions. Such constructions and their proof ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
The literature on concurrency theory offers a wealth of examples of characteristicformula constructions for various behavioural relations over finite labelled transition systems and Kripke structures that are defined in terms of fixed points of suitable functions. Such constructions and their proofs of correctness have been developed independently, but have a common underlying structure. This study provides a general view of characteristic formulae that are expressed in terms of logics with a facility for the recursive definition of formulae. It is shown how several examples of characteristicformula constructions from the literature can be recovered as instances of the proposed general framework, and how the framework can be used to yield novel constructions. The paper also offers general results pertaining to the definition of cocharacteristic formulae and of characteristic formulae expressed in terms of infinitary modal logics.
Reasoning about Contextual Equivalence: From Untyped to Polymorphically Typed Calculi
"... Abstract: This paper describes a syntactical method for contextual equivalence in polymorphically typed lambdacalculi. Our specific calculus has letrec as cyclic let, data constructors, caseexpressions, seq, and recursive types. The typed language is a subset of the untyped language. Normalorder ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
Abstract: This paper describes a syntactical method for contextual equivalence in polymorphically typed lambdacalculi. Our specific calculus has letrec as cyclic let, data constructors, caseexpressions, seq, and recursive types. The typed language is a subset of the untyped language. Normalorder reduction is defined for the untyped language. Since there are less typed contexts the typed contextual preorder and equivalence are coarser than the untyped ones. We use typelabels for all subexpressions of the typed expressions, and prove a context lemma for the typelabeled calculus. We show how to reason about correctness of program transformations in the typed language, and how to easily transfer the methods and results from untyped program calculi to polymorphically typed ones. 1
StepIndexed Relational Reasoning for Countable Nondeterminism
"... Programming languages with countable nondeterministic choice are computationally interesting since countable nondeterminism arises when modeling fairness for concurrent systems. Because countable choice introduces noncontinuous behaviour, it is wellknown that developing semantic models for program ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
Programming languages with countable nondeterministic choice are computationally interesting since countable nondeterminism arises when modeling fairness for concurrent systems. Because countable choice introduces noncontinuous behaviour, it is wellknown that developing semantic models for programming languages with countable nondeterminism is challenging. We present a stepindexed logical relations model of a higherorder functional programming language with countable nondeterminism and demonstrate how it can be used to reason about contextually defined may and mustequivalence. In earlier stepindexed models, the indices have been drawn from ω. Here the stepindexed relations for mustequivalence are indexed over an ordinal greater than ω.