Author: Robert L. Constable
Release Date: 2012-04-26
This Festschrift volume is published in honor of Dexter Kozen on the occasion of his 60th birthday. Dexter Kozen has been a leader in the development of Kleene Algebras (KAs). The contributions in this volume reflect the breadth of his work and influence. The volume includes 19 full papers related to Dexter Kozen's research. They deal with coalgebraic methods, congruence closure; the completeness of various programming logics; decision procedure for logics; alternation; algorithms and complexity; and programming languages and program analysis. The second part of this volume includes laudatios from several collaborators, students and friends, including the members of his current band.
Author: Gilles Barthe
Release Date: 2003-08-02
Genre: Language Arts & Disciplines
This book is based on material presented at the international summer school on Applied Semantics that took place in Caminha, Portugal, in September 2000. We aim to present some recent developments in programming language research, both in semantic theory and in implementation, in a series of graduate-level lectures. The school was sponsored by the ESPRIT Working Group 26142 on Applied Semantics(APPSEM),whichoperatedbetweenApril1998andMarch2002.The purpose of this working group was to bring together leading reseachers, both in semantic theory and in implementation, with the speci?c aim of improving the communication between theoreticians and practitioners. TheactivitiesofAPPSEMwerestructuredintonineinterdisciplinarythemes: A: Semantics for object-oriented programming B: Program structuring C: Integration of functional languages and proof assistants D: Veri?cation methods E: Automatic program transformation F: Games, sequentiality, and abstract machines G: Types and type inference in programming H: Semantics-based optimization I: Domain theory and real number computation These themes were identi?ed as promising for pro?table interaction between semantic theory and practice, and were chosen to contribute to the following general topics: – description of existing programming language features; – design of new programming language features; – implementation and analysis of programming languages; – transformation and generation of programs; – veri?cation of programs. The chapters in this volume give examples of recent developments covering a broad range of topics of interest to APPSEM.
Author: G. M. Bierman
Release Date: 1998
Genre: Functional programming languages
Abstract: "This paper proposes a simple computational interpretation of Parigot's [lambda mu]-calculus. The [lambda mu]-calculus is an extension of the typed [lambda]-calculus which corresponds via the Curry-Howard correspondence to classical logic. Whereas other work has given computational interpretations by translating the [lambda mu]-calculus into other calculi, I wish to propose here that the [lambda mu]-calculus itself has a simple computational interpretation: it is a typed [lambda]-calculus which is able to save and restore the runtime environment. This interpretation is best given as a single-step semantics which, in particular, leads to a relatively simple, but powerful, operational theory."
Author: Andrew M. Pitts
Release Date: 1998
Genre: Functional programming (Computer science)
Abstract: "Studies of the mathematical properties of impredicative polymorphic types have for the most part focused on the polymorphic lambda calculus of Girard-Reynolds, which is a calculus of total polymorphic functions. This paper considers polymorphic types from a functional programming perspective, where the partialness arising from the presence of fixpoint recursion complicates the nature of potentially infinite ('lazy') datatypes. An approach to Reynolds' notion of relational parametricity is developed that works directly on the syntax of a programming language, using a novel closure operator to relate operational behaviour to parametricity properties of types. Working with an extension of Plotkin's PCF with [for every]-types, lazy lists and existential types, we show by example how the resulting logical relation can be used to prove properties of polymorphic types up to operational equivalence."
Author: Dov M. Gabbay
Publisher: Springer Science & Business Media
Release Date: 2013-11-29
This text offers an extension to the traditional Kripke semantics for non-classical logics by adding the notion of reactivity. Reactive Kripke models change their accessibility relation as we progress in the evaluation process of formulas in the model. This feature makes the reactive Kripke semantics strictly stronger and more applicable than the traditional one. Here we investigate the properties and axiomatisations of this new and most effective semantics, and we offer a wide landscape of applications of the idea of reactivity. Applied topics include reactive automata, reactive grammars, reactive products, reactive deontic logic and reactive preferential structures. Reactive Kripke semantics is the next step in the evolution of possible world semantics for non-classical logics, and this book, written by one of the leading authorities in the field, is essential reading for graduate students and researchers in applied logic, and it offers many research opportunities for PhD students.
Author: R. S. Bird
Release Date: 1998
After the success of the first EDITION, Introduction to Functional Programming using Haskell has been thoroughly updated and revised to provide a complete grounding in the principles and techniques of programming with functions. The second EDITION uses the popular language Haskell to express functional programs. There are new chapters on program optimisation, abstract datatypes in a functional setting, and programming in a monadic style. There are complete new case studies, and many new exercises. As in the first EDITION, there is an emphasis on the fundamental techniques for reasoning about functional programs, and for deriving them systematically from their specifications. The book is self-contained, assuming no prior knowledge of programming and is suitable as an introductory undergraduate text for first- or second-year students.
This book constitutes the refereed proceedings of the 15th International Conference on Concurrency Theory, CONCUR 2004, held in London, UK in August/September 2004. The 29 revised full papers presented together with 4 invited papers were carefully reviewed and selected from 134 submissions. Among the topics covered are concurrency related aspects of models of computation, semantic domains, process algebras, Petri nets, event structures, real-time systems, hybrid systems, decidability, model checking, verification techniques, refinement, term and graph rewriting, distributed programming, constraint logic programming, object-oriented programming, typing systems and algorithms, case studies, tools, and environments for programming and verification.
Author: Allen B. Downey
Publisher: O'Reilly Germany
Release Date: 2013-01-31
Python ist eine moderne, interpretierte, interaktive und objektorientierte Skriptsprache, vielseitig einsetzbar und sehr beliebt. Mit mathematischen Vorkenntnissen ist Python leicht erlernbar und daher die ideale Sprache für den Einstieg in die Welt des Programmierens. Das Buch führt Sie Schritt für Schritt durch die Sprache, beginnend mit grundlegenden Programmierkonzepten, über Funktionen, Syntax und Semantik, Rekursion und Datenstrukturen bis hin zum objektorientierten Design. Jenseits reiner Theorie: Jedes Kapitel enthält passende Übungen und Fallstudien, kurze Verständnistests und kleinere Projekte, an denen Sie die neu erlernten Programmierkonzepte gleich ausprobieren und festigen können. Auf diese Weise können Sie das Gelernte direkt anwenden und die jeweiligen Programmierkonzepte nachvollziehen. Lernen Sie Debugging-Techniken kennen: Am Ende jedes Kapitels finden Sie einen Abschnitt zum Thema Debugging, der Techniken zum Aufspüren und Vermeiden von Bugs sowie Warnungen vor entsprechenden Stolpersteinen in Python enthält. Starten Sie durch: Beginnen Sie mit den Grundlagen der Programmierung und den verschiedenen Programmierkonzepten, und lernen Sie, wie ein Informatiker zu programmieren.