Book Description
The text is unique in its tutorial presentation of higher-order lambda calculus and intuitionistic type theory.
Author : David A. Schmidt
Publisher : MIT Press
Page : 392 pages
File Size : 32,3 MB
Release : 1994
Category : Computers
ISBN : 9780262193498
The text is unique in its tutorial presentation of higher-order lambda calculus and intuitionistic type theory.
Author : David A. Schmidt
Publisher : Mit Press
Page : 367 pages
File Size : 22,64 MB
Release : 1994
Category : Computers
ISBN : 9780262691710
The Structure of Typed Programming Languages describes the fundamental syntactic and semantic features of modern programming languages, carefully spelling out their impacts on language design. Using classical and recent research from lambda calculus and type theory, it presents a rational reconstruction of the Algol-like imperative languages such as Pascal, Ada, and Modula-3, and the higher-order functional languages such as Scheme and ML.David Schmidt's text is based on the premise that although few programmers ever actually design a programming language, it is important for them to understand the structuring techniques. His use of these techniques in a reconstruction of existing programming languages and in the design of new ones allows programmers and would-be programmers to see why existing languages are structured the way they are and how new languages can be built using variations on standard themes.The text is unique in its tutorial presentation of higher-order lambda calculus and intuitionistic type theory. The latter in particular reveals that a programming language is a logic in which its typing system defines the propositions of the logic and its well-typed programs constitute the proofs of the propositions.The Structure of Typed Programming Languages is designed for use in a first or second course on principles of programming languages. It assumes a basic knowledge of programming languages and mathematics equivalent to a course based on books such as Friedman, Wand, and Haynes': Essentials of Programming Languages. As Schmidt covers both the syntax and the semantics of programming languages, his text provides a perfect precursor to a more formal presentation of programming language semantics such as Gunter's Semantics of Programming Languages.
Author : John E. Nicholls
Publisher : Addison Wesley Publishing Company
Page : 602 pages
File Size : 32,1 MB
Release : 1975
Category : Computers
ISBN :
Introduction: background and technical foundations; User aspects; Elements of procedural programming languages.
Author : Benjamin C. Pierce
Publisher : MIT Press
Page : 656 pages
File Size : 38,43 MB
Release : 2002-01-04
Category : Computers
ISBN : 9780262162098
A comprehensive introduction to type systems and programming languages. A type system is a syntactic method for automatically checking the absence of certain erroneous behaviors by classifying program phrases according to the kinds of values they compute. The study of type systems—and of programming languages from a type-theoretic perspective—has important applications in software engineering, language design, high-performance compilers, and security. This text provides a comprehensive introduction both to type systems in computer science and to the basic theory of programming languages. The approach is pragmatic and operational; each new concept is motivated by programming examples and the more theoretical sections are driven by the needs of implementations. Each chapter is accompanied by numerous exercises and solutions, as well as a running implementation, available via the Web. Dependencies between chapters are explicitly identified, allowing readers to choose a variety of paths through the material. The core topics include the untyped lambda-calculus, simple type systems, type reconstruction, universal and existential polymorphism, subtyping, bounded quantification, recursive types, kinds, and type operators. Extended case studies develop a variety of approaches to modeling the features of object-oriented languages.
Author : Michael Marcotty
Publisher : Springer Science & Business Media
Page : 373 pages
File Size : 48,72 MB
Release : 2012-12-06
Category : Computers
ISBN : 146124692X
The earth, viewed through the window of an airplane, shows a regularity and reptition of features, for example, hills, valleys, rivers, lakes, and forests. Nevertheless, there is great local variation; Vermont does not look like Utah. Similarly, if we rise above the details of a few programming languages, we can discern features that are common to many languages. This is the programming language landscape; the main features include variables, types, control structures, and input/output. Again, there is local variation; Pascal does not look like Basic. This work is a broad and comprehensive discussion of the principal features of the major programming languages. A Study of Concepts The text surveys the landscape of programming languages and its features. Each chapter concentrates on a single language concept. A simple model of the feature, expressed as a mini-language, is presented. This allows us to study an issue in depth and relative isolation. Each chapter concludes with a discussion of the way in which the concept is incorporated into some well-known languages. This permits a reasonably complete coverage of language issues.
Author : John C. Mitchell
Publisher : Cambridge University Press
Page : 546 pages
File Size : 21,7 MB
Release : 2002-10-14
Category : Computers
ISBN : 1139433482
For undergraduate and beginning graduate students, this textbook explains and examines the central concepts used in modern programming languages, such as functions, types, memory management, and control. The book is unique in its comprehensive presentation and comparison of major object-oriented programming languages. Separate chapters examine the history of objects, Simula and Smalltalk, and the prominent languages C++ and Java. The author presents foundational topics, such as lambda calculus and denotational semantics, in an easy-to-read, informal style, focusing on the main insights provided by these theories. Advanced topics include concurrency, concurrent object-oriented programming, program components, and inter-language interoperability. A chapter on logic programming illustrates the importance of specialized programming methods for certain kinds of problems. This book will give the reader a better understanding of the issues and tradeoffs that arise in programming language design, and a better appreciation of the advantages and pitfalls of the programming languages they use.
Author : Elliott Irving Organick
Publisher :
Page : 690 pages
File Size : 39,69 MB
Release : 1978
Category : Computers
ISBN : 9780125282604
Basic concepts; Interfacing procedures; Recursion; Syntax formalism; Syntax and semantics of several major programming languages; Algol; Fortran; Lisp; Snobol; Multisequence algorithms; Pascal.
Author : Carlo Ghezzi
Publisher : John Wiley & Sons
Page : 358 pages
File Size : 28,30 MB
Release : 1982
Category : Computers
ISBN :
This book explains and illustrates key concepts of programming by taking a breadth approach to programming languages. It uses C++ as the primary language throughout, demonstrating imperative, functional and object-oriented language concepts.
Author : John C. Reynolds
Publisher : Cambridge University Press
Page : 514 pages
File Size : 14,88 MB
Release : 1998-10-13
Category : Computers
ISBN : 1139936255
First published in 1998, this textbook is a broad but rigourous survey of the theoretical basis for the design, definition and implementation of programming languages and of systems for specifying and proving programme behaviour. Both imperative and functional programming are covered, as well as the ways of integrating these aspects into more general languages. Recognising a unity of technique beneath the diversity of research in programming languages, the author presents an integrated treatment of the basic principles of the subject. He identifies the relatively small number of concepts, such as compositional semantics, binding structure, domains, transition systems and inference rules, that serve as the foundation of the field. Assuming only knowledge of elementary programming and mathematics, this text is perfect for advanced undergraduate and beginning graduate courses in programming language theory and also will appeal to researchers and professionals in designing or implementing computer languages.
Author : Pierpaolo Degano
Publisher : Springer Science & Business Media
Page : 428 pages
File Size : 31,2 MB
Release : 2003-03-14
Category : Computers
ISBN : 3540008861
Comparison is a powerful cognitive research tool in science since it does 'across studies' to evaluate similarities and differences, e.g. across taxa or diseases. This book deals with comparative research on plant disease epidemics. Comparisons are done in specifically designed experiments or with posterior analyses. From the apparently unlimited diversity of epidemics of hundreds of diseases, comparative epidemiology may eventually extract a number of basic types. These findings are very important to crop protection. Plant disease epidemiology, being the ecological branch of plant pathology, may also be of value to ecologists, but also epidemiologists in the areas of animal or human diseases may find interesting results, applicable to their areas of research.