Citace od: Prograt kdy 17. 02. 2018, 22:08:16Koukám teď na Swift a jeho "conditional conformance". Má otázka: v jakých dalších mainstreamových jazycích se vyskytuje? Podle mých skromných znalostí to C++ ani Java nemá, ale neznám moc třeba Rust, Kotlin atd.
Citace od: andy kdy 19. 02. 2018, 09:46:14Citace od: Prograt kdy 17. 02. 2018, 22:08:16Koukám teď na Swift a jeho "conditional conformance". Má otázka: v jakých dalších mainstreamových jazycích se vyskytuje? Podle mých skromných znalostí to C++ ani Java nemá, ale neznám moc třeba Rust, Kotlin atd.V Haskellu. A je to dost geniální vlastnost, když se to použije rekurzivně, tak to vypadá jako černá magie.
Citace od: klokan kdy 19. 02. 2018, 05:34:19Citace od: Labrat kdy 19. 02. 2018, 05:10:21Jako důvod to je debilní, oficiálně to je ale na TO DO seznamu, jen s nízkou prioritou. Mě Swift moc nebere, protože je dost Apple-centric a já píšu hlavně pro Linux, ale HKT používám v C++ (ať žije statický polymorfismus) a rozhodně bych rád, aby se rozšířily.Jakže děláte HKT v C++? To by mě docela zajímalo.
Citace od: Labrat kdy 19. 02. 2018, 05:10:21Jako důvod to je debilní, oficiálně to je ale na TO DO seznamu, jen s nízkou prioritou. Mě Swift moc nebere, protože je dost Apple-centric a já píšu hlavně pro Linux, ale HKT používám v C++ (ať žije statický polymorfismus) a rozhodně bych rád, aby se rozšířily.
Citace od: v kdy 19. 02. 2018, 11:07:28Citace od: andy kdy 19. 02. 2018, 09:46:14Citace od: Prograt kdy 17. 02. 2018, 22:08:16Koukám teď na Swift a jeho "conditional conformance". Má otázka: v jakých dalších mainstreamových jazycích se vyskytuje? Podle mých skromných znalostí to C++ ani Java nemá, ale neznám moc třeba Rust, Kotlin atd.V Haskellu. A je to dost geniální vlastnost, když se to použije rekurzivně, tak to vypadá jako černá magie.jako že "instance (A b) => A (C b)"?
Citace od: 10xCoder kdy 19. 02. 2018, 17:54:01Citace od: klokan kdy 19. 02. 2018, 05:34:19Citace od: Labrat kdy 19. 02. 2018, 05:10:21Jako důvod to je debilní, oficiálně to je ale na TO DO seznamu, jen s nízkou prioritou. Mě Swift moc nebere, protože je dost Apple-centric a já píšu hlavně pro Linux, ale HKT používám v C++ (ať žije statický polymorfismus) a rozhodně bych rád, aby se rozšířily.Jakže děláte HKT v C++? To by mě docela zajímalo.V C++ přece může být parametrem šablony šablona, což je přesně definice HKT. Žádná hluboká věda v tom není a vůbec nemusíme zmiňovat fujmonády
Citace od: klokan kdy 19. 02. 2018, 04:59:16Citace od: Labrat kdy 19. 02. 2018, 03:50:04U Swiftu je k tomu diskuse na fóru vývojářů. Tvrdí, že většina lidí by to nepoužívala, protože to nechápe.Totéž tvrdí vývojáři Rustu. Možná, že konkrétně v případě Swiftu na tom něco je, přece jenom je to jazyk určený především na vývoj appek pro iPhone, takže HKT a monádám v této cílové skupině asi hodně lidí opravdu moc nerozumí (ačkoli nevím, jestli to je dobrý důvod pro to, aby to nebylo).
Citace od: Labrat kdy 19. 02. 2018, 03:50:04U Swiftu je k tomu diskuse na fóru vývojářů. Tvrdí, že většina lidí by to nepoužívala, protože to nechápe.
Citace od: Labrat kdy 19. 02. 2018, 03:50:04Citace od: klokan kdy 18. 02. 2018, 07:08:20Je ale spousta věcí, včetně plné podpory monád, které tak doopravdy implementovat nejdou. Je to velká škoda a je zajímavé, že i Swift se rozhodl se takto omezit. Rád bych věděl, co návrhářům moderních jazyků na typech vyšších druhů tolik vadí?U Swiftu je k tomu diskuse na fóru vývojářů. Tvrdí, že většina lidí by to nepoužívala, protože to nechápe.
Citace od: klokan kdy 18. 02. 2018, 07:08:20Je ale spousta věcí, včetně plné podpory monád, které tak doopravdy implementovat nejdou. Je to velká škoda a je zajímavé, že i Swift se rozhodl se takto omezit. Rád bych věděl, co návrhářům moderních jazyků na typech vyšších druhů tolik vadí?
Citace od: Baloun kdy 20. 02. 2021, 09:01:29Jestli tomu dobře rozumím, tak to je jako koncepty v C++20. Což je v podstatě jen syntaxe pro SFINAE, který se v C++ používá od doby zavedení šablon.