Type-Driven Development with Idris
eBook - ePub

Type-Driven Development with Idris

  1. 480 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Type-Driven Development with Idris

About this book

Summary Type-Driven Development with Idris, written by the creator of Idris, teaches you how to improve the performance and accuracy of your programs by taking advantage of a state-of-the-art type system. This book teaches you with Idris, a language designed to support type-driven development.Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Stop fighting type errors! Type-driven development is an approach to coding that embraces types as the foundation of your code - essentially as built-in documentation your compiler can use to check data relationships and other assumptions. With this approach, you can define specifications early in development and write code that's easy to maintain, test, and extend. Idris is a Haskell-like language with first-class, dependent types that's perfect for learning type-driven programming techniques you can apply in any codebase. About the Book Type-Driven Development with Idris teaches you how to improve the performance and accuracy of your code by taking advantage of a state-of-the-art type system. In this book, you'll learn type-driven development of real-world software, as well as how to handle side effects, interaction, state, and concurrency. By the end, you'll be able to develop robust and verified software in Idris and apply type-driven development methods to other languages. What's Inside

  • Understanding dependent types
  • Types as first-class language constructs
  • Types as a guide to program construction
  • Expressing relationships between data


About the Reader Written for programmers with knowledge of functional programming concepts. About the Author Edwin Brady leads the design and implementation of the Idris language. Table of Contents

PART 1 - INTRODUCTION

  • Overview
  • Getting started with Idris

PART 2 - CORE IDRIS

  • Interactive development with types
  • User-defined data types
  • Interactive programs: input and output processing
  • Programming with first-class types
  • Interfaces: using constrained generic types
  • Equality: expressing relationships between data
  • Predicates: expressing assumptions and contracts in types
  • Views: extending pattern matching

PART 3 - IDRIS AND THE REAL WORLD

  • Streams and processes: working with infinite data
  • Writing programs with state
  • State machines: verifying protocols in types
  • Dependent state machines: handling feedback and errors
  • Type-safe concurrent programming

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription.
No, books cannot be downloaded as external files, such as PDFs, for use outside of Perlego. However, you can download books within the Perlego app for offline reading on mobile or tablet. Learn more here.
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes! You can use the Perlego app on both iOS or Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Yes, you can access Type-Driven Development with Idris by Edwin Brady in PDF and/or ePUB format, as well as other popular books in Computer Science & Programming Languages. We have over one million books available in our catalogue for you to explore.

Information

Table of contents

  1. Type-Driven Development with Idris
  2. Copyright
  3. Brief Table of Contents
  4. Table of Contents
  5. Preface
  6. Acknowledgments
  7. About this Book
  8. About the Author
  9. About the Cover Illustration
  10. Part 1. Introduction
  11. Chapter 1. Overview
  12. Chapter 2. Getting started with Idris
  13. Part 2. Core Idris
  14. Chapter 3. Interactive development with types
  15. Chapter 4. User-defined data types
  16. Chapter 5. Interactive programs: input and output processing
  17. Chapter 6. Programming with first-class types
  18. Chapter 7. Interfaces: using constrained generic types
  19. Chapter 8. Equality: expressing relationships between data
  20. Chapter 9. Predicates: expressing assumptions and contracts in types
  21. Chapter 10. Views: extending pattern matching
  22. Part 3. Idris and the real world
  23. Chapter 11. Streams and processes: working with infinite data
  24. Chapter 12. Writing programs with state
  25. Chapter 13. State machines: verifying protocols in types
  26. Chapter 14. Dependent state machines: handling feedback and errors
  27. Chapter 15. Type-safe concurrent programming
  28. Appendix A. Installing Idris and editor modes
  29. Appendix B. Interactive editing commands
  30. Appendix C. REPL commands
  31. Appendix D. Further reading
  32. Appendix E.
  33. Appendix F.
  34. Index
  35. List of Figures
  36. List of Tables
  37. List of Listings