Obdoba higher-order types je i v Javě (Function<T,R>) a C (void(*func)()), akorát nejsou přímo podporované typovým systémem, takže to formálně nejsou higher-order types.
Function<T,R> není HKT, jeho kind je *→*→*. Aby to byl HKT, muselo by T nebo R být generické, což v Javě nejde.
Citace: Labrat 26. 02. 2018, 14:32:40Function<T,R> není HKT, jeho kind je *→*→*. Aby to byl HKT, muselo by T nebo R být generické, což v Javě nejde.Function<?,?>. A za ? může být klidně další Function<?,?>.
Tak já do toho hodím vidle. Co si myslíte o tomto: https://medium.com/@johnmcclean/simulating-higher-kinded-types-in-java-b52a18b72c74
Citace: Phi 26. 02. 2018, 18:46:42Tak já do toho hodím vidle. Co si myslíte o tomto: https://medium.com/@johnmcclean/simulating-higher-kinded-types-in-java-b52a18b72c74 To je hnus, velebnosti.