Apakah ada pustaka daftar ukuran tetap yang efisien di Haskell? Saya pikir antarmuka IArray
agak rumit ketika seseorang hanya ingin array diindeks oleh bilangan asli [termasuk nol]. Saya ingin menulis kode seperti
zeroToTwenty :: Int -> FixedList Int
zeroToTwenty 0 = createFixedList 21 []
zeroToTwenty n = zeroToTwenty (n-1) `append` n
solusi naif saya ada di bawah.
Edit : Maaf atas kurangnya konteks; Saya ingin struktur data yang dapat dialokasikan satu kali, untuk menghindari pengumpulan sampah yang berlebihan. Ini terjadi dalam konteks merge
rutin untuk merge sort, yang mengambil dua sublist yang diurutkan dan menghasilkan satu daftar yang diurutkan.