Verified Functional Programming in Agda

Sarja

1 / 71

Kieli
Englanti
Formaatti
Kategoria

Tietokirjallisuus

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.

© 2016 ACM Books (E-kirja): 9781970001266

Julkaisupäivä

E-kirja: 1. helmikuuta 2016

Kuuntele missä ja milloin haluat

Astu tarinoiden maailmaan

  • Pohjoismaiden suosituin ääni- ja e-kirjapalvelu
  • Uppoudu suureen valikoimaan äänikirjoja ja e-kirjoja
  • Storytel Original -sisältöjä yksinoikeudella
  • Ei sitoutumisaikaa
Aloita ilmainen kokeilu
Cover for Verified Functional Programming in Agda

Valitse tilausmalli

  • Nauti yli miljoonasta tarinasta, henkilökohtaisista suosituksista, viikottaisista uutuuksista sekä turvallisesta lastentilasta. Ei sitoutumisaikaa. 

Suosituin

Premium

Kuuntele ja lue usein

19.99 € /kk

  • 1 käyttäjätili

  • 100 tuntia/kk

  • Ei sitoutumisaikaa

Lunasta tarjous

Standard

Kuuntele ja lue säännöllisesti

16.99 € /kk

  • 1 käyttäjätili

  • 50 tuntia/kk

  • Ei sitoutumisaikaa

Lunasta tarjous

Unlimited

Kuuntele ja lue rajattomasti

29.99 € /kk

  • 1 käyttäjätili

  • Kuuntele ja lue rajattomasti

  • Ei sitoutumisaikaa

Aloita ilmainen kokeilu

Family

Jaa tarinat koko perheelle

Alkaen 26.99 € /kuukausi

  • 2-6 käyttäjätiliä

  • 100 tuntia/kk jokaiselle käyttäjälle

  • Ei sitoutumisaikaa

Sinä + 1 perheenjäsen

2 käyttäjätiliä

26.99 € /kk

Aloita ilmainen kokeilu

Flex

Kuuntele ja lue harvemmin - säästä käyttämättömät tunnit

9.99 € /kk

  • 1 käyttäjätili

  • 20 tuntia/kk

  • Säästä käyttämättömät tunnit, max 20h

  • Ei sitoutumisaikaa

Aloita ilmainen kokeilu