Seperti disebutkan dalam salah satu komentar dari OP, ini adalah tabel yang menjelaskan bagaimana Scala membandingkan untuk dukungan pemrograman generik. Tautan ke sumber pdf
Kemudian, ringkasan berikut diberikan:
Scala
Menggunakan pola CONCEPT kita dapat memodelkan konsep multi-tipe, banyak kendala dan mendukung pemodelan retroaktif. Selanjutnya, dukungan Scala untuk implisit berarti bahwa kelemahan solusi Java dan C # dalam hal overhead tambahan, tidak berlaku untuk Scala. Dengan demikian, skor Scala baik dalam pengurangan argumen implisit dan kriteria pemodelan retroaktif. Bagian 6 menunjukkan bahwa tipe terkait didukung dalam Scala melalui anggota tipe dan tipe metode dependen, dan anggota tipe juga dapat digunakan sebagai alias tipe.
Seperti yang ditunjukkan pada Bagian 3, Scala mendukung model dengan cakupan leksikal. Selain itu, pengecekan tipe sepenuhnya modular. Implisit tumpang tindih yang diprioritaskan menyediakan beberapa dukungan untuk kelebihan beban berbasis konsep seperti yang diilustrasikan oleh zipWithNcontoh di Bagian 6.5. Namun, model yang tumpang tindih harus disusun menggunakan hierarki subtipe, yang mungkin tidak selalu diinginkan. Dengan demikian, skor untuk fitur ini hanya cukup. Akhirnya, Scala memiliki dukungan penuh untuk fungsi-fungsi kelas satu dan juga mendukung kendala kesetaraan.
Singkatnya Scala ternyata menjadi bahasa dengan dukungan yang sangat baik untuk fitur pemrograman generik, mengelola tarif pada tingkat yang sama, atau bahkan sedikit lebih baik, daripada G (yang dirancang khusus sebagai bahasa untuk pemrograman generik dalam skala besar) atau Haskell ( yang telah diakui memiliki dukungan yang sangat baik untuk pemrograman generik).
Dan kemudian dalam ringkasan:
Tipe anggota dan tipe metode dependen menambah kekuatan ekstra ke bahasa dan kombinasi dari dua mekanisme memungkinkan tipe terkait untuk diekspresikan. Dalam kombinasi dengan implisit, tipe anggota dan tipe metode dependen menjadikan Scala bahasa yang siap untuk pemrograman generik dalam skala besar