Vyhodnocovač výrazů pro literálové typy v jazyce TypeScript
Math expression evaluator for literal types in TypeScript
Typ dokumentu
diplomová prácemaster thesis
Autor
Tat Dat Duong
Vedoucí práce
Šmolík Jaroslav
Oponent práce
Dojčinovski Milan
Studijní obor
Webové inženýrstvíStudijní program
InformatikaInstituce přidělující hodnost
katedra softwarového inženýrstvíPráva
A university thesis is a work protected by the Copyright Act. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one?s own expense. The use of thesis should be in compliance with the Copyright Act http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf and the citation ethics http://knihovny.cvut.cz/vychova/vskp.htmlVysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf a citační etikou http://knihovny.cvut.cz/vychova/vskp.html
Metadata
Zobrazit celý záznamAbstrakt
Tato práce se věnuje tvorbě typové knihovny pro vyhodnocování matematických výrazů v jazyce TypeScript. Hlavním cílem této práce je implementace stěžejních matematických operací a příslušného vyhodnocovače, sloužící pro demonstraci typového systému v TypeScriptu a komplexního meta-programování v samotném typovém systému. Součástí této práce je také ucelený průvodce syntaxí TypeScriptu a technikami meta-programování na typové úrovni pro objasnění schopností programovacího jazyka. Implementace je řádně otestována pro ověření korektnosti, přičemž jsou popsány použité nástroje a metody pro testování vytvořených typů. Bylo provedeno měření dopadu na proces ověřování typů u vybraných operací za účelem zjištění vlivu na vývojářské prostředí. V neposlední řadě jsou prezentovány různé limitace typového systému v TypeScriptu a jejich možné řešení. This thesis introduces a type-level library for evaluating mathematical expressions in TypeScript. The main goal of this thesis is the implementation of the core mathematical operations and the accompanying evaluator, demonstrating the power of the TypeScript type system and the ability to perform complex meta-programming within the type system itself. A comprehensive guide to the TypeScript syntax and type-level programming techniques is provided to broaden the understanding of the capabilities of this language. The implementation is properly unit tested for correctness while describing the tools and methods used for testing types. Performance impact on type checking of selected operations has been measured to gauge the effect on the developer experience. Finally, various limitations and possible workarounds of the TypeScript type system are presented.
Kolekce
- Diplomové práce - 18102 [1005]