Quali sono alcuni buoni libri introduttivi sulla teoria dei tipi?


Risposte:


28

Le basi software di Benjamin C. Pierce sarebbero un buon punto di partenza. Sarebbe un buon precursore dei suoi tipi e linguaggi di programmazione . C'è anche la teoria dei tipi e la programmazione funzionale di Simon Thompson e le prove e i tipi di Girard .


10
Suggerirei di preparare il tipo e i linguaggi di programmazione di Peirce prima delle basi software che sono più avanzate. Per qualcuno che vuole iniziare lentamente, qualcosa come Lambda-Calculus e Combinators di Hindley e Seldin è una dolce introduzione.
Martin Berger,

4
Sì, TAPL è il libro. C'è anche "Argomenti avanzati su tipi e linguaggi di programmazione" di Pierce come follow-up.
Huck Bennett,

@MartinBerger, ho dato un'occhiata al sommario di Lambda-Calculus e Combinators e sembra un po 'scoraggiante. Sei sicuro che sia più introduttivo di TAPL o SF?
Steven Shaw,

1
@StevenShaw Hindley / Seldin inizia con le basi e procede molto lentamente, ma in modo completo. La parte teorica del tipo non fa nulla di speciale. Forse anche la teoria dei tipi semplici di base di Hindley è appropriata. Non l'ho mai tenuto tra le mani però.
Martin Berger,



5

Si tratta più di basi matematiche e meno di informatica, ma il libro Homotopy Type Theory: Univalent Foundations of Mathematics è disponibile gratuitamente in formato pdf con una licenza CC.


6
Mi piace l'argomento e il libro, ma chiaramente non è come se non presupponga che tu abbia già familiarità con le regole delle astrazioni lambda, riduzioni ecc. L'OP, proveniente dall'uso di Haskell e ora incuriosito dalla teoria dei tipi, sarà sconcertato dall'interpretazione della teoria dell'omotopia tramite tipi di identità, 80 pagine in. :)
Nikolaj-K

1
Concordo con @NikolajK che il libro di Hott è troppo avanzato per un principiante della teoria dei tipi. Un buon percorso per un programmatore Haskell è imparare prima Agda . Agda sta (semplificando un po ') Haskell con tipi dipendenti ed è stato usato per formalizzare Hott.
Martin Berger,

1
Non introduttivo :)
Steven Shaw,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.