Saya telah mencoba membaca " Mutiara Algoritma Fungsional desain ", dan kemudian " Aljabar Pemrograman ", dan ada korespondensi yang jelas antara rekursif (dan secara polinomi) didefinisikan tipe data dan objek kombinatorial, memiliki definisi rekursif yang sama dan kemudian memimpin untuk seri kekuatan formal yang sama (atau fungsi pembangkit), seperti yang diperlihatkan dalam pengantar spesies kombinatorial (saya membaca " Spesies dan Fungsi dan Jenis, Oh My! ").
Jadi, untuk pertanyaan pertama, apakah ada cara untuk memulihkan persamaan pembangkit (rekursif) dari seri daya? Itu adalah renungan.
Saya lebih tertarik pada gagasan aljabar awal dan aljabar akhir sebagai jenis "mendefinisikan prosedur tentang struktur data". Ada beberapa aturan praktis dalam pemrograman fungsional, mengenai komposisi, produk pemetaan antara aljabar dan sejenisnya, dijelaskan misalnya dalam tutorial ini. Tampak bagi saya bahwa ini bisa menjadi cara yang cukup kuat untuk mendekati kompleksitas dan misalnya, terlihat cukup mudah untuk memulihkan teorema Guru dalam konteks seperti itu (maksud saya, Anda harus melakukan argumen yang sama, jadi tidak banyak keuntungan dalam hal ini), dan katamorfisme unik dari aljabar awal dan fakta (apakah saya salah?) bahwa aljabar antara A dan FA untuk F-polinomial functor adalah isomorfik, membuatnya tampak bagi saya bahwa pendekatan seperti itu dapat memiliki banyak manfaat dalam menganalisis kompleksitas operasi atas struktur data.
Dari sudut pandang praktis, tampak seperti aturan fusi (pada dasarnya, cara-cara untuk menyusun morfisme aljabar satu sama lain, morfisma coalgebra, dan morfisme umum) adalah teknik pengoptimalan yang sangat kuat untuk transformasi dan refactoring program. Apakah saya benar dalam berpikir bahwa pemanfaatan penuh dari aturan-aturan ini dapat menghasilkan program yang optimal (tidak ada struktur data perantara yang tidak perlu atau operasi tambahan lainnya).
Apakah saya ke sesuatu (dan apa) di sini? Apakah penerima manfaat (dari sudut pandang pembelajaran) mencoba melihat kompleksitas komputasi dengan cara ini? Apakah strukturnya, di mana kita dapat memiliki aljabar awal yang "bagus" entah bagaimana terlalu terbatas untuk beberapa masalah?
Saya sebagian besar mencoba menemukan cara untuk berpikir tentang kompleksitas dalam hal struktur ruang pencarian dan cara "ruang pencarian" dan "algoritma pencarian" berinteraksi melalui beberapa objek "baik" seperti aljabar awal dari functor dan untuk memahami apakah berguna untuk mencoba melihat hal-hal seperti ini, ketika melihat struktur yang lebih rumit.