Academia.edu no longer supports Internet Explorer.
To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to upgrade your browser.
1986, Lecture Notes in Computer Science
…
16 pages
1 file
me too is a functional language in which executable specifications of software components are constructed from abstract models and operations defined on them. The principal data type provided by the language is the set. This paper examines in detail the extent to which the objects manipulated by me too programs do in fact behave like the mathematical ideal of sets. It draws conclusions about the design of the language, and about the feasibility of such projects in 'applied semantics'. * This work was supported in part by an SERC grant.
1994
An account is given of extending the well-known object-oriented type system of Luca Cardelli with set constructs and logical formalism. The system is based on typed -notation, employing a subtyping relation and a powertype construct. Sets in this system are value expressions and are typed as some powertype. Sets are built up in a very general manner; in particular, sets can be described by ( rst-order) predicates. The resulting system, called LPT, is statically typecheckable (in a context of multiple inheritance) and is provided with a set-theoretic semantics. LPT can be used as a mathematical foundation for an object-oriented data model employing sets and constraints.
2016
In these lecture notes we present a few basic approaches to the definition of the semantics of programming languages. In particular, we present: (i) the operational semantics and the axiomatic semantics for a simple imperative language, and (ii) the operational semantics and the denotational semantics for some first order and higher order, typed functional languages. We then present some basic techniques for proving properties of imperative, functional, and concurrent programs. We closely follow the presentation done in the book by Glynn Winskel [19]. I express my gratitude to my colleagues at the Department of Informatics, Systems, and Production of the University of Roma Tor Vergata, and to my students and my co-workers Fabio Fioravanti, Fulvio Forni, Maurizio Proietti, and Valerio Senni for their support and encouragement. Thanks to Michele Ranieri and Massimiliano Macchia for pointing out some imprecisions in a preliminary version of these lecture notes. Many thanks also to the Aracne Publishing Company for its helpful cooperation.
Theoretical Computer Science, 1994
Science 135 (I 994) 267-288 Elsevier 267
Proceedings of the 7th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '80, 1980
about a year I have worked on a semantic specification for the C programming language My objecti~e was to construct a readable and precise specification of C. aimed at compiler writers, maintamers, and language pundm, This paper is a report on the project, * UNIX is a trademark of Bell Laboratories.
2000
Programming language semantics has lost touch with large groups of potential users [39]. Among the reasons for this unfortunate state of affairs, one stands out. Semantic results are rarely incorporated in practical systems that would help language designers to implement and test a language under development, or assist programmers in answering their questions about the meaning of some language feature not properly documented in the language's reference manual.
Lecture Notes in Computer Science, 1994
Electronic Notes in Theoretical Computer Science, 2007
This paper explains precisely how a declarative method language, based upon the formal notations of Z and B, can be used as a basis for automatic code generation. The language is used to describe the intended effect of operations, or methods, upon the components of an object model; each method is defined by a pair of predicates-pre-and post-conditions. Following the automatic incorporation of model invariants, including those arising from class associations, these predicates are extended-again, automatically-to address issues of consistency, definition, and dependency, before being transformed into imperative programs. The result is a formal method for transforming object models into complete, working systems.
Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.
Lecture Notes in Computer Science, 1996
Proceedings of the fourth international conference on Functional programming languages and computer architecture - FPCA '89, 1989
Lecture Notes in Computer Science, 1991
Mathematical Foundations of Programming Semantics, 1994
Mathematical Foundations of Programming Semantics, 1992
Electronic Notes in Theoretical Computer Science, 2006
Electronic Notes in Theoretical Computer Science, 2001
Lecture Notes in Computer Science, 1987
Theoretical Computer Science, 2020