Type Theory and Functional Programming

Type Theory and Functional Programming
Author: Simon Thompson
Publisher: Addison Wesley Publishing Company
Total Pages: 396
Release: 1991
Genre: Computers
ISBN:

Download Type Theory and Functional Programming Book in PDF, Epub and Kindle

This book explores the role of Martin-Lof s constructive type theory in computer programming. The main focus of the book is how the theory can be successfully applied in practice. Introductory sections provide the necessary background in logic, lambda calculus and constructive mathematics, and exercises and chapter summaries are included to reinforce understanding.

Functional Programming

Functional Programming
Author: Bruce J. MacLennan
Publisher: Addison-Wesley Professional
Total Pages: 616
Release: 1990
Genre: Computers
ISBN:

Download Functional Programming Book in PDF, Epub and Kindle

Category Theory for Programmers (New Edition, Hardcover)

Category Theory for Programmers (New Edition, Hardcover)
Author: Bartosz Milewski
Publisher:
Total Pages:
Release: 2019-08-24
Genre:
ISBN: 9780464243878

Download Category Theory for Programmers (New Edition, Hardcover) Book in PDF, Epub and Kindle

Category Theory is one of the most abstract branches of mathematics. It is usually taught to graduate students after they have mastered several other branches of mathematics, like algebra, topology, and group theory. It might, therefore, come as a shock that the basic concepts of category theory can be explained in relatively simple terms to anybody with some experience in programming.That's because, just like programming, category theory is about structure. Mathematicians discover structure in mathematical theories, programmers discover structure in computer programs. Well-structured programs are easier to understand and maintain and are less likely to contain bugs. Category theory provides the language to talk about structure and learning it will make you a better programmer.

Basic Category Theory for Computer Scientists

Basic Category Theory for Computer Scientists
Author: Benjamin C. Pierce
Publisher: MIT Press
Total Pages: 117
Release: 1991-08-07
Genre: Computers
ISBN: 0262326450

Download Basic Category Theory for Computer Scientists Book in PDF, Epub and Kindle

Basic Category Theory for Computer Scientists provides a straightforward presentation of the basic constructions and terminology of category theory, including limits, functors, natural transformations, adjoints, and cartesian closed categories. Category theory is a branch of pure mathematics that is becoming an increasingly important tool in theoretical computer science, especially in programming language semantics, domain theory, and concurrency, where it is already a standard language of discourse. Assuming a minimum of mathematical preparation, Basic Category Theory for Computer Scientists provides a straightforward presentation of the basic constructions and terminology of category theory, including limits, functors, natural transformations, adjoints, and cartesian closed categories. Four case studies illustrate applications of category theory to programming language design, semantics, and the solution of recursive domain equations. A brief literature survey offers suggestions for further study in more advanced texts. Contents Tutorial • Applications • Further Reading

Types and Programming Languages

Types and Programming Languages
Author: Benjamin C. Pierce
Publisher: MIT Press
Total Pages: 656
Release: 2002-01-04
Genre: Computers
ISBN: 9780262162098

Download Types and Programming Languages Book in PDF, Epub and Kindle

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.

Type Theory and Formal Proof

Type Theory and Formal Proof
Author: Rob Nederpelt
Publisher: Cambridge University Press
Total Pages: 465
Release: 2014-11-06
Genre: Computers
ISBN: 1316061086

Download Type Theory and Formal Proof Book in PDF, Epub and Kindle

Type theory is a fast-evolving field at the crossroads of logic, computer science and mathematics. This gentle step-by-step introduction is ideal for graduate students and researchers who need to understand the ins and outs of the mathematical machinery, the role of logical rules therein, the essential contribution of definitions and the decisive nature of well-structured proofs. The authors begin with untyped lambda calculus and proceed to several fundamental type systems, including the well-known and powerful Calculus of Constructions. The book also covers the essence of proof checking and proof development, and the use of dependent type theory to formalise mathematics. The only prerequisite is a basic knowledge of undergraduate mathematics. Carefully chosen examples illustrate the theory throughout. Each chapter ends with a summary of the content, some historical context, suggestions for further reading and a selection of exercises to help readers familiarise themselves with the material.

Programming with Types

Programming with Types
Author: Vlad Riscutia
Publisher: Simon and Schuster
Total Pages: 531
Release: 2019-10-31
Genre: Computers
ISBN: 1638350264

Download Programming with Types Book in PDF, Epub and Kindle

Summary Programming with Types teaches you to design safe, resilient, correct software that’s easy to maintain and understand by taking advantage of the power of strong type systems. Designed to provide practical, instantly useful techniques for working developers, this clearly written tutorial introduces you to using type systems to support everyday programming tasks. About the technology Common bugs often result from mismatched data types. By precisely naming and controlling which data are allowable in a calculation, a strong type system can eliminate whole classes of errors and ensure data integrity throughout an application. As a developer, skillfully using types in your everyday practice leads to better code and saves time tracking down tricky data-related errors. About the book Programming with Types teaches type-based techniques for writing software that’s safe, correct, easy to maintain, and practically self-documenting. Designed for working developers, this clearly written tutorial sticks with the practical benefits of type systems for everyday programming tasks. Following real-world examples coded in TypeScript, you’ll build your skills from primitive types up to more-advanced concepts like functors and monads. What's inside Building data structures with primitive types, arrays, and references How types affect functions, inheritance, and composition Object-oriented programming with types Applying generics and higher-kinded types About the reader You’ll need experience with a mainstream programming language like TypeScript, Java, JavaScript, C#, or C++. About the author Vlad Riscutia is a principal software engineer at Microsoft. He has headed up several major software projects and mentors up-and-coming software engineers.

Programming in Martin-Löf's Type Theory

Programming in Martin-Löf's Type Theory
Author: Bengt Nordström
Publisher: Oxford University Press, USA
Total Pages: 240
Release: 1990
Genre: Computers
ISBN:

Download Programming in Martin-Löf's Type Theory Book in PDF, Epub and Kindle

In recent years, several formalisms for program construction have appeared. One such formalism is the type theory developed by Per Martin-Löf. Well suited as a theory for program construction, it makes possible the expression of both specifications and programs within the same formalism. Furthermore, the proof rules can be used to derive a correct program from a specification as well as to verify that a given program has a certain property. This book contains a thorough introduction to type theory, with information on polymorphic sets, subsets, monomorphic sets, and a full set of helpful examples.

Verified Functional Programming in Agda

Verified Functional Programming in Agda
Author: Aaron Stump
Publisher: Morgan & Claypool
Total Pages: 328
Release: 2016-02-01
Genre: Computers
ISBN: 1970001267

Download Verified Functional Programming in Agda Book in PDF, Epub and Kindle

Agda is an advanced programming language based on Type Theory. Agda's type system is expressive enough to support full functional verification of programs, in two styles. In external verification, we write pure functional programs and then write proofs of properties about them. The proofs are separate external artifacts, typically using structural induction. In internal verification, we specify properties of programs through rich types for the programs themselves. This often necessitates including proofs inside code, to show the type checker that the specified properties hold. The power to prove properties of programs in these two styles is a profound addition to the practice of programming, giving programmers the power to guarantee the absence of bugs, and thus improve the quality of software more than previously possible. Verified Functional Programming in Agda is the first book to provide a systematic exposition of external and internal verification in Agda, suitable for undergraduate students of Computer Science. No familiarity with functional programming or computer-checked proofs is presupposed. The book begins with an introduction to functional programming through familiar examples like booleans, natural numbers, and lists, and techniques for external verification. Internal verification is considered through the examples of vectors, binary search trees, and Braun trees. More advanced material on type-level computation, explicit reasoning about termination, and normalization by evaluation is also included. The book also includes a medium-sized case study on Huffman encoding and decoding.