Practical Foundations for Programming Languages
|Format||Paper book / ebook (PDF)|
Types are the central organizing principle of the theory of programming languages. Language features are manifestations of type structure. The syntax of a language is governed by the constructs that define its types, and its semantics is determined by the interactions among those constructs. The soundness of a language design - the absence of ill-defined programs-follows naturally. The purpose of this book is to explain this remark. A variety of programming language features are analyzed in the unifying framework of type theory. A language feature is defined by its statics, the rules governing the use of the feature in a program, and its dynamics, the rules defining how programs using this feature are to be executed. The concept of safety emerges as the coherence of the statics and the dynamics of a language.
In this way we establish a foundation for the study of programming languages. But why these particular methods? The main justification is provided by the book itself. The methods we use are both precise and intuitive, providing a uniform framework for explaining programming language concepts. Importantly, these methods scale to a wide range of programming language concepts, supporting rigorous analysis of their properties. Although it would require another book in itself to justify this assertion, these methods are also practical in that they are directly applicable to implementation and uniquely effective as a basis for mechanized reasoning. No other framework offers as much.
by Peter Bruce, Andrew Bruce, Peter Gedeck
Statistical methods are a key part of data science, yet few data scientists have formal statistical training. Courses and books on basic statistics rarely cover the topic from a data science perspective. The second edition of this popular guide adds comprehensive examples in Python, provides practical guidance on applying statistical meth...
Price: $52.29 | Publisher: O'Reilly Media | Release: 2020
by Mike Grant, Zachary Palmer, Scott Smith
In this open book, our goal is to study the fundamental concepts in programming languages, as opposed to learning a range of specific languages. Languages are easy to learn, it is the concepts behind them that are difficult. The basic features we study in turn include higher-order functions, data structures in the form of records and vari...
Publisher: Self-publishing | Release: 2020
by Federico Biancuzzi, Chromatic
Masterminds of Programming features exclusive interviews with the creators of several historic and highly influential programming languages. In this unique collection, you'll learn about the processes that led to specific design decisions, including the goals they had in mind, the trade-offs they had to make, and how their experience...
Price: $7.54 | Publisher: O'Reilly Media | Release: 2009
by Jan Goyvaerts, Steven Levithan
Price: $7.04 | Publisher: O'Reilly Media | Release: 2009
by Carlos Oliveira
Practical C++ Financial Programming is a hands-on book for programmers wanting to apply C++ to programming problems in the financial industry. The book explains those aspects of the language that are more frequently used in writing financial software, including the STL, templates, and various numerical libraries. The book also describes m...
Price: $79.99 | Publisher: Apress | Release: 2015
by Nicolas Modrzyk
Learn about bot programming, using all the latest and greatest programming languages, including Python, Go, and Clojure, so you can feel at ease writing your Telegram bot in a way that suits you.This book shows how you can use bots for just about everything: they connect, they respond, they enhance your job search chances, they do technic...
Price: $25.13 | Publisher: Apress | Release: 2019
by James Reinders, Ben Ashbaugh, James Brodman, Michael Kinsner, John Pennycook, Xinmin Tian
Learn how to accelerate C++ programs using data parallelism. This open book enables C++ programmers to be at the forefront of this exciting and important new development that is helping to push computing to new levels. It is full of practical advice, detailed explanations, and code examples to illustrate key topics.Data parallelism in C++...
Price: $42.25 | Publisher: Apress | Release: 2021
by Bruce Nikkel
Practical Linux Forensics dives into the technical details of analyzing postmortem forensic images of Linux systems that have been misused, abused, or the target of malicious attacks. This essential practitioner's guide will show you how to locate and interpret digital evidence found on Linux desktops, servers, and IoT devices, draw ...
Price: $44.19 | Publisher: No Starch Press | Release: 2021