Terinspirasi oleh hierarki luas yang hadir dalam teori kompleksitas, saya bertanya-tanya apakah hierarki tersebut juga hadir untuk sistem tipe. Namun, dua contoh yang saya temukan sejauh ini lebih mirip checklist (dengan fitur ortogonal) daripada hierarki (dengan sistem tipe yang lebih banyak dan lebih ekspresif).
Dua contoh yang saya temukan adalah kubus Lambda dan konsep polimorfisme k-rank . Yang pertama adalah daftar periksa dengan tiga opsi, yang kedua adalah hirarki nyata (meskipun k-peringkat untuk nilai-nilai spesifik k tidak umum saya percaya). Semua fitur sistem tipe lain yang saya tahu sebagian besar ortogonal.
Saya tertarik pada konsep-konsep ini karena saya merancang bahasa saya sendiri dan saya sangat ingin tahu bagaimana peringkatnya di antara sistem tipe yang ada saat ini (sistem tipe saya agak tidak konvensional, sejauh yang saya tahu).
Saya menyadari bahwa konsep 'ekspresif' mungkin agak kabur, yang dapat menjelaskan mengapa sistem jenis tampak seperti daftar periksa bagi saya.
sumber
Jawaban:
Ada beberapa indera "ekspresif" yang mungkin Anda inginkan untuk sistem tipe.
Apakah satu jenis sistem menjamin properti yang lebih kuat daripada yang lain. Misalnya, sistem tipe linear hanya menolak lebih banyak program, tetapi itu memungkinkan mereka membuat pernyataan yang lebih kuat tentang program yang mereka terima.
Sayangnya, saya tidak percaya bahwa ada upaya untuk mengkategorikan atau memformalkan gagasan ini, dengan pengecualian lambda-cube Barendregt, seperti yang dibahas oleh @cody.
sumber
Saya tidak yakin saya memiliki jawaban yang memuaskan untuk pertanyaan Anda, tetapi jika Anda mempertimbangkan Pure Type Systems, yang merupakan generalisasi dari sistem yang ditemukan dalam kubus lambda (gambaran menyeluruh, jika agak tanggal dapat ditemukan dalam teks Barendregt klasik ) maka ada beberapa konsep alami tentang hierarki:
sumber