Saya tahu Haskell sudah memiliki kemampuan untuk parametrise tipe lebih dari tipe lain (mirip dengan pemrograman template di C ++), tapi saya bertanya-tanya apakah Haskell juga dapat menentukan parameter atas nilai-nilai - apakah mendukung jenis dependen. Dengan tipe dependen, Anda dapat memiliki tipe yang parametris di atas bilangan bulat, misalnya vektor ukuran n, matriks ukuran n × m, dll.
Jika tidak, mengapa tidak? Dan adakah kemungkinan hal itu akan didukung di masa depan?
Untuk sedikit memperluas apa yang dijelaskan Ptharien Flame dengan baik tentang status saat ini - dan GHC Haskell tampaknya bergerak lebih jauh ke arah tipe dependen (sambil mempertahankan pemisahan fase) dengan masing-masing versi.
Jadi untuk misal di ICFP 2013 September ini, makalah tentang fase selanjutnya dari proses ini harus disajikan, "Menuju Haskell mengetik: Menuju Sistem dengan kesetaraan jenis" , tentang meruntuhkan jenis dan tingkat jenis. Seperti yang diumumkan rencananya sekitar 3 tahun yang lalu .
Dan itu bahkan menyebutkan langkah selanjutnya: "Kami juga sadar bahwa disertasi mendatang Adam Gundry akan memasukkan tipe-in dalam versi System FC dan kami juga ingin membuat fitur ini tersedia dalam bahasa sumber juga. (Komunikasi pribadi)"
sumber
Haskell secara tradisional mencoba memalsukannya, tetapi hasil akhirnya adalah sistem tipe yang jauh lebih besar dan tampaknya berulang. Tapi ini mungkin akan segera berubah! Lihat:
sumber