Apa saja buku pengantar yang bagus tentang teori tipe?

Jawaban:

28

Yayasan Perangkat Lunak oleh Benjamin C. Pierce akan menjadi tempat yang baik untuk memulai. Ini akan menjadi pendahulu yang baik untuk Jenis dan Bahasa Pemrogramannya . Ada juga Teori Tipe dan Pemrograman Fungsional Simon Thompson dan Bukti dan Tipe Girard .

Steven Shaw
sumber
10
Saya sarankan untuk menyiapkan Jenis dan Bahasa Pemrograman Peirce terlebih dahulu sebelum fondasi Perangkat Lunak yang lebih maju. Untuk seseorang yang ingin memulai dengan lambat, sesuatu seperti Lambda-Calculus dan Combinators oleh Hindley dan Seldin adalah perkenalan yang lembut.
Martin Berger
4
Ya, TAPL adalah yang buku. Ada juga "Topik Tingkat Lanjut dalam Jenis dan Bahasa Pemrograman" Pierce sebagai tindak lanjut.
Huck Bennett
@ MartinBerger, saya melihat daftar isi untuk Lambda-Calculus dan Combinators dan sepertinya sedikit menakutkan. Apakah Anda yakin ini lebih bersifat perkenalan daripada TAPL atau SF?
Steven Shaw
1
@StevenShaw Hindley / Seldin dimulai dengan dasar-dasar yang sangat dan hasil sangat lambat, tetapi komprehensif. Bagian teoretis tipe tidak melakukan apa pun yang mewah. Mungkin Teori Tipe Sederhana Dasar Hindley juga sesuai. Saya tidak pernah memegangnya di tangan saya.
Martin Berger
9

Buku Robert Harper, Yayasan Praktis untuk Bahasa Pemrograman (tersedia sebagai konsep online: http://www.cs.cmu.edu/~rwh/plbook/book.pdf ) adalah alternatif yang agak lebih intens untuk Jenis dan Bahasa Pemrograman.

Chris Martens
sumber
5

Ini lebih banyak tentang dasar matematika dan lebih sedikit tentang ilmu komputer, tetapi buku Homotopy Type Theory: Univalent Foundations of Mathematics tersedia secara gratis dalam bentuk pdf di bawah lisensi CC.

David Eppstein
sumber
6
Saya suka topik dan bukunya, tapi jelas, ini tidak seperti itu tidak menganggap Anda terbiasa dengan aturan abstraksi lambda, pengurangan dll sudah. OP, yang berasal dari penggunaan Haskell dan sekarang penasaran dengan teori tipe, akan dibuat bingung oleh penafsiran teori homotop melalui tipe identitas, 80 halaman. :)
Nikolaj-K
1
Saya setuju dengan @NikolajK bahwa buku Hott terlalu canggih untuk pemula tipe-teori. Rute yang bagus untuk seorang programmer Haskell adalah belajar Agda terlebih dahulu. Agda adalah (menyederhanakan sedikit) Haskell dengan tipe dependen, dan telah digunakan untuk memformalkan Hott.
Martin Berger
1
Tidak perkenalan :)
Steven Shaw