Metrics
Full text views
Full text views help
Loading metrics...
* Views captured on Cambridge Core between #date#. This data will be updated every 24 hours.
Usage data cannot currently be displayed.
An exploration of the design space and development of programming languages from the perspective of control structures: the language mechanisms that enable programs to control their execution flows. Starting with the 'goto' jumps of early programming languages and the emergence of structured programming in the 1960s, this book explores advanced control structures for imperative languages such as generators and coroutines, then develops alternate views of control in functional languages, first as continuations and their control operators, then as algebraic effects and effect handlers, as found in the OCaml language. Blending history, code examples, and theory, it offers advanced students, researchers, and programming language enthusiasts an original, comparative perspective on programming languages, as well as an extensive introduction to algebraic effects and other contemporary research topics.
‘A story about how our ways of telling computers what should happen, when have evolved over three quarters of a century, told by a master programming language designer and implementer.’
Benjamin Pierce - University of Pennsylvania
‘Control structures are the nervous system of a programming language: they determine how computations are executed, interrupted, resumed, and interwoven. In this book, Xavier Leroy, the architect of the OCaml programming language, gives a comprehensive account of control structures, from the historic ‘goto’ statement to the state-of-the-art algebraic effects and handlers. Theory, practice and concrete examples are masterfully combined into a whole that will be valuable both to implementors of programming languages and to programmers who want to better understand the tools they use every day.’
Andrej Bauer - University of Ljubljana
Loading metrics...
* Views captured on Cambridge Core between #date#. This data will be updated every 24 hours.
Usage data cannot currently be displayed.
This section outlines the accessibility features of this content - including support for screen readers, full keyboard navigation and high-contrast display options. This may not be relevant for you.
Accessibility compliance for the PDF of this book is currently unknown and may be updated in the future.