Results 1 
8 of
8
The Early Search for Tractable Ways of Reasoning About Programs
 IEEE Annals of the History of Computing
, 2003
"... This paper traces the important steps in the history up to around 1990 of research on reasoning about programs. The main focus is on sequential imperative programs but some comments are made on concurrency. Initially, researchers focussed on ways of verifying that a program satisfies its specifi ..."
Abstract

Cited by 15 (2 self)
 Add to MetaCart
This paper traces the important steps in the history up to around 1990 of research on reasoning about programs. The main focus is on sequential imperative programs but some comments are made on concurrency. Initially, researchers focussed on ways of verifying that a program satisfies its specification (or that two programs were equivalent). Over time it became clear that post facto verification is only practical for small programs and attention turned to verification methods which support the development of programs; for larger programs it is necessary to exploit a notation of compositionality. Coping with concurrent algorithms is much more challenging  this and other extensions are considered briefly. The main thesis of this paper is that the idea of reasoning about programs has been around since they were first written; the search has been to find tractable methods.
On the Search for Tractable Ways of Reasoning about Programs
, 2001
"... This paper traces the important steps in the history up to around 1990 of research on reasoning about programs. The main focus is on sequential imperative programs but some comments are made on concurrency. Initially, researchers focussed on ways of verifying that a program satifies its specific ..."
Abstract

Cited by 9 (1 self)
 Add to MetaCart
This paper traces the important steps in the history up to around 1990 of research on reasoning about programs. The main focus is on sequential imperative programs but some comments are made on concurrency. Initially, researchers focussed on ways of verifying that a program satifies its specification (or that two programs were equivalent). Over time it has become clear that post facto verification is only practical for small programs and attention turned to verification methods which support the development of programs; for larger programs it is necesary to exploit a notion of composability.
Algebraic Semantics for Functional Logic Programming with Polymorphic OrderSorted Types
, 1996
"... . In this paper we present the semantics of a functional logic language with parametric and ordersorted polymorphism. Typed programs consist of a polymorphic signature and a set of constructorbased conditional rewriting rules for which we define a semantic calculus. The denotational semantics of t ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
. In this paper we present the semantics of a functional logic language with parametric and ordersorted polymorphism. Typed programs consist of a polymorphic signature and a set of constructorbased conditional rewriting rules for which we define a semantic calculus. The denotational semantics of the language is based on Scott domains interpreting constructors and functions by monotonic and continuous mappings, respectively, in every instance of the declared type. We prove initiality results for the free ground term algebra. We also prove that the free term algebra with variables is freely generated in the category of models. The semantic calculus is proved to be sound and complete w.r.t. the denotational semantics. As in logic programming, we define the immediate consequence operator, proving that the Hebrand model is the least model of a program. 1 Introduction Type systems have been traditionally considered in functional languages and incorporated as an extension to logic program...
Inductive Datatypes with Laws and Subtyping – A Relational Model
 Faculty of Mathematics and Computing
"... ..."
Tossing Algebraic Flowers down the Great Divide
 In People and Ideas in Theoretical Computer Science
, 1999
"... Data Types and Algebraic Semantics The history of programming languages, and to a large extent of software engineering as a whole, can be seen as a succession of ever more powerful abstraction mechanisms. The first stored program computers were programmed in binary, which soon gave way to assembly l ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
Data Types and Algebraic Semantics The history of programming languages, and to a large extent of software engineering as a whole, can be seen as a succession of ever more powerful abstraction mechanisms. The first stored program computers were programmed in binary, which soon gave way to assembly languages that allowed symbolic codes for operations and addresses. fortran began the spread of "high level" programming languages, though at the time it was strongly opposed by many assembly programmers; important features that developed later include blocks, recursive procedures, flexible types, classes, inheritance, modules, and genericity. Without going into the philosophical problems raised by abstraction (which in view of the discussion of realism in Section 4 may be considerable), it seems clear that the mathematics used to describe programming concepts should in general get more abstract as the programming concepts get more abstract. Nevertheless, there has been great resistance to u...
SEMANTICS OF GRAMMARS AND ATTRIBUTES VIA INITIALITY
"... ABSTRACT. This paper uses elementary categorical techniques to systematically describe the semantics of contextfree grammars and of attribute evaluation for such grammars. The novelty lies in capturing inherited attributes and their evaluation via exponents and naturality. 1. ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
ABSTRACT. This paper uses elementary categorical techniques to systematically describe the semantics of contextfree grammars and of attribute evaluation for such grammars. The novelty lies in capturing inherited attributes and their evaluation via exponents and naturality. 1.
MSc in Logic at the Universiteit van Amsterdam.
, 2012
"... Interaction, observation and denotation A study of dialgebras for program semantics ..."
Abstract
 Add to MetaCart
Interaction, observation and denotation A study of dialgebras for program semantics
CoCaml: Programming with Coinductive Types
, 2012
"... We present CoCaml, a functional programming language extending OCaml, which allows us to define functions on coinductive datatypes parameterized by an equation solver. We provide numerous examples that attest to the usefulness of the new programming constructs, including operations on infinite lists ..."
Abstract
 Add to MetaCart
We present CoCaml, a functional programming language extending OCaml, which allows us to define functions on coinductive datatypes parameterized by an equation solver. We provide numerous examples that attest to the usefulness of the new programming constructs, including operations on infinite lists, infinitary λterms and padic numbers.