Results 1 
6 of
6
Logical and Computational Aspects of Programming with Sets/Bags/Lists
 In LNCS 510: Proceedings of 18th International Colloquium on Automata, Languages, and Programming
, 1991
"... . We study issues that arise in programming with primitive recursion over nonfree datatypes such as lists, bags and sets. Programs written in this style can lack a meaning in the sense that their outputs may be sensitive to the choice of input expression. We are, thus, naturally lead to a settheor ..."
Abstract

Cited by 65 (2 self)
 Add to MetaCart
. We study issues that arise in programming with primitive recursion over nonfree datatypes such as lists, bags and sets. Programs written in this style can lack a meaning in the sense that their outputs may be sensitive to the choice of input expression. We are, thus, naturally lead to a settheoretic denotational semantics with partial functions. We set up a logic for reasoning about the definedness of terms and a deterministic and terminating evaluator. The logic is shown to be sound in the model, and its recursion free fragment is shown to be complete for proving definedness of recursion free programs. The logic is then shown to be as strong as the evaluator, and this implies that the evaluator is compatible with the provable equivalence between different set (or bag, or list) expressions . Oftentimes, the same nonfree datatype may have different presentations, and it is not clear a priori whether programming and reasoning with the two presentations are equivalent. We formulate t...
Total Functional Programming
 Journal of Universal Computer Science
, 2004
"... We now define the notion, already discussed, of an effectively calculable function of positive integers by identifying it with the notion of a recursive function of positive integers (or of a lambdadefinable function of positive integers). The phrase in parentheses refers to the apparatus which Chur ..."
Abstract

Cited by 29 (1 self)
 Add to MetaCart
We now define the notion, already discussed, of an effectively calculable function of positive integers by identifying it with the notion of a recursive function of positive integers (or of a lambdadefinable function of positive integers). The phrase in parentheses refers to the apparatus which Church had developed to investigate this and other problems in the foundations of mathematics: the calculus of lambda conversion. Both the Thesis and the lambda calculus have been of seminal influence on the development of Computing Science. The main subject of this article is the lambda calculus but I will begin with a brief sketch of the emergence of the Thesis. The epistemological status of Church’s Thesis is not immediately clear from the above quotation and remains a matter of debate, as is explored in other papers of this volume. My own view, which I will state but not elaborate here, is that the thesis is empirical because it relies for its significance on a claim about what can be calculated by mechanisms. This becomes clearer in
Christiansen: Callbyname Calculus of Records and its Basic Properties. Working Papers Series
"... This technical report contains definitions and proofs of properties of a callbyname calculus of records. The purpose of the calculus is to describe unordered collections of (possibly mutually recursive) named components. The system resembles a callbyvalue calculus of records defined in [5], but t ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
This technical report contains definitions and proofs of properties of a callbyname calculus of records. The purpose of the calculus is to describe unordered collections of (possibly mutually recursive) named components. The system resembles a callbyvalue calculus of records defined in [5], but the proof method
Computational Soundness of a Call by Name Calculus of Recursivelyscoped Records. Working Papers Series
"... The paper presents a calculus of recursivelyscoped records: a twolevel calculus with a traditional callbyname λcalculus at a lower level and unordered collections of labeled λcalculus terms at a higher level. Terms in records may reference each other, possibly in a mutually recursive manner, by ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
The paper presents a calculus of recursivelyscoped records: a twolevel calculus with a traditional callbyname λcalculus at a lower level and unordered collections of labeled λcalculus terms at a higher level. Terms in records may reference each other, possibly in a mutually recursive manner, by means of labels. We define two relations: a rewriting relation that models program transformations and an evaluation relation that defines a smallstep operational semantics of records. Both relations follow a callbyname strategy. We use a special symbol called a black hole to model cyclic dependencies that lead to infinite substitution. Computational soundness is a property of a calculus that connects the rewriting relation and the evaluation relation: it states that any sequence of rewriting steps (in either direction) preserves the meaning of a record as defined by the evaluation relation. The computational soundness property implies that any program transformation that can be represented as a sequence of forward and backward rewriting steps preserves the meaning of a record as defined by the small step operational semantics. In this paper we describe the computational soundness framework and prove computational soundness of the calculus. The proof is based on a novel inductive contextbased argument for meaning preservation of substituting one component into another. Keywords: Calculus, callbyname, computational soundness, recursivelyscoped records
Computational Soundness of a Call by Name Calculus of Recursivelyscoped Records. UMM Working Papers Series, Volume 2, Num. 3.
"... 1.2 Related Work............................. 2 ..."