496
Vývoj / Re:Jak validovat DTO v dynamicky typovaném jazyce?
« kdy: 27. 01. 2022, 13:43:15 »Jo. Aby se to nepřeložilo, chce to mocnější typový systém.Moc rád bych pochopil co si mám představit pod pojmem “kombinovat dynamické se statickým”.Ada:Kód: [Vybrat]Staticky se kontroluje přiřazení celého čísla, ale predikát je dynamický. To je rozdíl oproti jazykům jako Agda, kde můžu mít typ EvenNat, který je kompletně kontrolovaný v době překladu.subtype Even is Integer with Dynamic_Predicate => Even mod 2 = 0;
Staticky typované jazyky se dělí na dva základní typy: s běhovými chybami a bez (taky se říká bez výjimek, prostě nedojde k přerušení bloku kódu kvůli chybě). Ty druhé (Agda, SPARK…) vyžadují aspoň GADT nebo nějaký podobný mechanismus a predikáty jako sudost nebo nenulovost se vyjadřují staticky.
A to dynamické znamená, že mi:Kód: [Vybrat]sice přeloží, ale při běhu to vyhodí výjimku při pokusu zavolat test(13), tak?function test (x: Even) return Even
begin
return x + x;
end
test(13)


