Skip to main content
Apress

Introduction to Dependent Types with Idris

Encoding Program Proofs in Types

  • Book
  • © 2023

Overview

  • Introduces formal systems and mathematical logical systems and builds up to dependent types

  • Every chapter includes practical exercises

  • Covers the Idris programming language to prove some mathematical properties

  • 1091 Accesses

This is a preview of subscription content, log in via an institution to check access.

Access this book

eBook USD 29.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book USD 37.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Other ways to access

Licence this eBook for your library

Institutional subscriptions

Table of contents (5 chapters)

Keywords

About this book

Dependent types are a concept that allows developers to write proof-carrying code. Idris is a programming language that supports dependent types. This book will teach you the mathematical foundations of Idris as well as how to use it to write software and mathematically prove properties.

The first part of the book serves as an introduction to the language's underlying theories. It starts by reviewing formal systems and mathematical logical systems as foundational building blocks, then gradually builds up to dependent types. Next, you'll learn type theory for dependent types. Following this, you'll explore the Idris programming language and conclude by exploring the depths of formal systems and type checkers by implementing them.

Introduction to Dependent Types with Idris will walk you through simple examples through more advanced techniques, stepping up the difficulty as you gain more knowledge. Every chapter includes a set of exercises based on what it covered to further cement your learning. No specialized knowledge of mathematics is expected beyond the basics, so it is perfect for novices.

What You Will Learn

    Understand Lambda calculus and dependent types
  • Gain insight into functional programming
  • Write mathematical proofs with Idris

Who This Book Is For

Programmers, mathematicians, academics, and anyone else interested learning dependent types and lambda calculus.

Authors and Affiliations

  • Skopje, North Macedonia

    Boro Sitnikovski

About the author

Boro Sitnikovski has over ten years of experience working professionally as a software engineer. He started programming with assembly on an Intel x86 at the age of ten. While in high school, he won several prizes in competitive programming, varying from 4th, 3rd, and 1st place. He is an informatics graduate - his bachelor’s thesis was titled “Programming in Haskell using algebraic data structures”, and his master’s thesis was titled “Formal verification of Instruction Sets in Virtual Machines”. He has also published a few papers on software verification. Other research interests of his include programming languages, mathematics, logic, algorithms, and writing correct software. He is a strong believer in the open-source philosophy and contributes to various open-source projects. In his spare time, he enjoys some time off with his family.

Bibliographic Information

Publish with us