|
|
Showing 1 - 3 of
3 matches in All Departments
Most object-oriented or functional languages are higher order
languages, i.e. ones in which the means of manipulation (e.g.
object or function) can itself be manipulated. This 1998 book
contains a collection of original articles about recent
developments in operational semantics for higher order programming
languages by some of the leading researchers in the field.
Operational techniques are important because they are closer to
implementations and language definitions than more abstract
mathematical techniques such as denotational semantics. One of the
exciting developments reflected by the book is that mathematical
structures and techniques used in denotational semantics (such as
fixpoint induction) may be recovered from a purely operational
starting point. The book surveys and introduces techniques such as
contextual equivalence, applicative bisimulation, logical
relations, improvement relations, explicit models of memory
management, and labelling techniques for confluence properties. It
treats a variety of higher order languages, based on functions,
processes and objects, with and without side effects, typed and
untyped.
This book constitutes the refereed proceedings of the 6th International Conference on Foundations of Software Science and Computation Structures, FOSSACS 2003, held in Warsaw, Poland in April 2003. The 26 revised full papers presented together with an invited paper were carefully reviewed and selected from 96 submissions. Among the topics covered are algebraic models; automata and language theory; behavioral equivalences; categorical models; computation processes over discrete and continuous data; computation structures; logics of programs; models of concurrent, reactive, distributed, and mobile systems; process algebras and calculi; semantics of programming languages; software specification and refinement; transition systems; and type systems and type theory.
A common attraction to functional programming is the ease with
which proofs can be given of program properties. A common
disappointment with functional programming is the difficulty of
expressing input/output (I/O) while at the same time being able to
verify programs. Here, the author shows how a theory of functional
programming can be smoothly extended to admit both an operational
semantics for functional I/O and verification of programs engaged
in I/O. He obtains, for the first time, operational semantics for
the three most widely implemented I/O mechanisms for lazy
languages, and proves that the three are equivalent in expressive
power. He also develops semantics for a form of monadic I/O and
verifies a simple programming example. These theories of functional
I/O are based on an entirely operational theory of functional
programming, developed using Abramsky's "applicative bisimulation."
Graduate students and researchers will gain much from reading this
book.
|
You may like...
Phantom Hotel
Megan Atwood
Paperback
R201
R187
Discovery Miles 1 870
Reborn
Ella Clarke
Hardcover
R703
Discovery Miles 7 030
|