Sejauh yang saya tahu, fungsi Haskell dengan batasan kelas tipe secara internal dikompilasi ke fungsi dengan argumen tambahan yang menerima kamus dengan implementasi yang diperlukan dari setiap kelas tipe tertentu.
- Apakah ada kemungkinan lain bagaimana mengkompilasi kelas tipe?
- Jika demikian, apa kelebihan mereka?
- Dan kompiler apa yang menggunakannya?
Jawaban:
JHC menggunakan pendekatan yang berbeda. Bahasa perantara compiler adalah lambda-calculus yang diketik secara dependen di mana tidak ada perbedaan antara jenis dan nilai. Oleh karena itu JHC dapat melakukan analisis kasus pada parameter jenis fungsi dan memanggil fungsi kelebihan beban yang benar secara langsung.
Situs web JHC membahas secara mendalam tentang implementasi, serta keuntungannya dibandingkan implementasi kamus yang lulus standar.
sumber