196
Vývoj / Re:Je Rust jazyk budoucnosti?
« kdy: 05. 12. 2022, 19:23:33 »Jo, tento konstruktor je rekurzivní.Jasné. Chápu-li to správně, tak se to samozřejmě bude chovat rekurzivně, etc. Tak?Kód: [Vybrat]Jasné zatím? Otázky?SuccSuccIsEven : IsEven n -> IsEven (n+2)
Komplet zápis takto?Ano.Kód: [Vybrat]data IsEven : Nat -> Type where
ZIsEven : IsEven 0
SuccSuccIsEven : IsEven n -> IsEven (n+2)
Říkáš, že Nat je Součtový (diskrétní) typ, takže tam nemůže být nekonečně mnoho čísel. Takže je nějak definováno něco jako NatMax, NatMin?Nejmenší hodnota je nula, ale jinak to omezené není, těch hodnot je nekonečně (spočetně) mnoho, právě díky rekurzi toho druhého konstruktoru.
Ten Type je zadrátovaný klíčový slovo/typ?Jo, ten je zvláštní, protože typů pro typy by mělo být nekonečně mnoho (aby nedošlo k něčemu na způsob Russellova paradoxu), jenže zrovna Idris si tu typovou úroveň odvodí sám. Například Lean ji potřebuje explicitně. Nicméně pro naše příklady to není podstatné, je to prostě zabudovaný typ (a slouží také k deklaraci HKT).

