Saya tertarik untuk mendapatkan pemahaman yang benar-benar solid tentang pengetikan yang tergantung. Saya telah membaca sebagian besar TaPL dan membaca (jika tidak sepenuhnya diserap) 'Jenis Ketergantungan' di ATTaPL . Saya juga membaca dan membaca sekilas banyak artikel tentang pengetikan yang tergantung.
Banyak diskusi tipe teori tampaknya fokus pada penambahan fitur tambahan ke sistem tipe sebelumnya, bukan "apa generalisasi besar berikutnya dari tipe sistem X?". Tipe dependen tampaknya menjadi generalisasi besar berikutnya dari Sistem F, tapi saya belum menemukan bahasa yang diketik secara kanonis dan intuitif. Banyak referensi untuk kalkulus dari konstruksi (induktif) membuat saya berpikir CoC adalah bahasa itu, tetapi penjelasan bahasa yang saya lihat tampaknya tidak begitu jelas atau intuitif bagi saya.
Saya mengharapkan / menebak bahasa seperti itu akan memiliki fitur-fitur seperti: (dan tolong beri tahu saya jika ada sesuatu yang membingungkan atau tidak realistis)
- Abstraksi umum (dapat memiliki fungsi dari domain apa pun dalam hierarki tipe ke yang lain, jenis -> istilah, istilah-> tipe '' 'dll.)
- Memiliki hierarki pengetikan yang tidak terbatas (istilah: jenis: jenis ': jenis' ': ...)
- Jumlah minimum elemen dasar. Saya membayangkan bahwa bahasa hanya menegaskan satu elemen untuk setiap level. Sebagai contoh, ini mungkin menyatakan bahwa ((): Unit: Jenis: Jenis ': ...). Elemen-elemen lain dibangun dari elemen-elemen ini.
- Jumlah dan jenis produk dapat diturunkan.
Saya juga mencari penjelasan bahasa yang idealnya akan dibahas:
- Hubungan antara abstraksi dan kuantifikasi dalam bahasa itu. Jika mereka tidak bersatu, maka jelaskan mengapa mereka tidak bersatu.
- Hirarki tipe tak terbatas secara eksplisit
Saya mengajukan pertanyaan ini karena saya ingin belajar teori tipe dependen tetapi juga karena saya ingin menyusun panduan yang, dengan asumsi latar belakang CS kecil, mengajarkan penggunaan dan bagaimana memahami asisten bukti dan bahasa yang diketik dengan dependen.