211
Vývoj / Re:Je Rust jazyk budoucnosti?
« kdy: 05. 12. 2022, 16:16:42 »Typ IsEven má (meta)typ Nat -> Type (je to tedy typový konstruktor), v podstatě je to "funkce" (funkce na úrovni typů), která dostane přirozené číslo (Nat je induktivní typ, to teď asi není důležité) a vrátí typ. Potud asi jasné (?). Hlavička definice tedy budeKód: [Vybrat]Tento typ má dva konstruktory, řekněme ZIsEven a SuccSuccIsEven, které generují hodnoty různých typů (proto se jedná o GADT), ten první je typu IsEven 0 a ten druhý typu IsEven (n+2) pro nějaké přirozené číslo n.data IsEven : Nat -> Type where
Typ chovající se jako funkce. Tomu rozumím. Jak se to liší a v čem je to podobné proti průmyslovým generikám:Kód: [Vybrat]případně:type IsEven<T>Kód: [Vybrat]?type IsEven<T> where T is Nat
Zatím v ničem. Pro GADT jsou relevantní až ty konstruktory hodnot.
takže spíš až večer.
Koho současné poznání vývoje lidských jazyků zajímá, může si přečíst něco od Dietera Wunderlicha nebo Jerryho Hobbse, ti to popisují srozumitelně i pro laiky. Podle Chomského k vývoji dnešního typu jazyka došlo před 70000-100000 lety a od té doby se jazykový systém nezměnil (mění se slovní zásoba a tvarosloví, ne strukturní principy), to je ale jen jedna z hypotéz.