Just-in-time kompilace závisle typovaného lambda kalkulu

but.committeedoc. Ing. František Zbořil, CSc. (předseda) doc. Ing. Vladimír Janoušek, Ph.D. (místopředseda) Ing. Michal Hradiš, Ph.D. (člen) Dr. Ing. Petr Peringer (člen) Ing. Jaroslav Rozman, Ph.D. (člen) Ing. Aleš Smrčka, Ph.D. (člen)cs
but.defenceStudent nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm B. Otázky u obhajoby: Můžete diskutovat případnou možnost praktické využitelnosti práce? Vypořádáváte se nějak s ověřováním terminace? Můžete prosím ještě jednou vysvětlit graf na slidu 9? Proč jste vaši práci nekonzultoval častěji s vedoucím? Proč je u vašeho řešení důležitá rychlost?cs
but.jazykangličtina (English)
but.programInformační technologie a umělá inteligencecs
but.resultpráce byla úspěšně obhájenacs
dc.contributor.advisorLengál, Ondřejen
dc.contributor.authorZárybnický, Jakuben
dc.contributor.refereeHavlena, Vojtěchen
dc.date.accessioned2021-06-25T07:55:46Z
dc.date.available2021-06-25T07:55:46Z
dc.date.created2021cs
dc.description.abstractŘada programovacích jazyků byla schopna zvýšit svoji rychlost výměnou běhových systémů stavěných na míru za obecné platformy, které pro optimalizaci používají just-in-time překlad, jako jsou GraalVM nebo RPython. V této práci vyhodnocuji, zda je použití takovýchto platforem vhodné i pro jazyky se závislymi typy nebo důkazovými systémy. Tato práce představuje koncepty -kalkulu a teorie typů potřebné pro úvod do závislých typů s relevantními algoritmy, specifikuje malý závisle typovaný jazyk založený na $\lambda\Pi$ kalkulu, a prezentuje dva interpretery tohoto jazyka. Tyto interpretery jsou psané v jazyce Kotlin, první je jednoduchý, psaný ve funkcionálním stylu a druhý používá platformu GraalVM a Truffle. GraalVM je platforma založená na virtuálním stroji Javy (JVM), která přidává just-in-time překladač založený na částečném vyhodnocení (partial evaluation) a Truffle je knihovna pro tvorbu programovacích jazyků využívající tento překladač. Závěr práce vyhodnocuje běhové charakteristiky těchto interpreterů na různých zátěžových testech.Závěry práce jsou ale silně negativní. Vliv JIT překladu není znatelný ani přes snahu optimalizovat běžné algoritmy z teorie typů, které jsou zjevně nevhodné pro platformu JVM. Práce končí návrhy několika navazujících projektů, které by lépe využily možnosti Truffle a které by byly vhodnější pro implementaci závisle typovaných jazyků.en
dc.description.abstractA number of programming languages have managed to greatly improve their performance by replacing their custom runtime system with general platforms that use just-in-time optimizing compilers like GraalVM or RPython. This thesis evaluates whether such a transition would also benefit dependently-typed programming languages or theorem provers. This thesis introduces the type-theoretic notion of dependent types and the algorithms involved in working with them, specifies a minimal dependently-typed language on the -calculus, and presents the implementation two interpreters for this language: a simple interpreter written in Kotlin, and a second interpreter, also written in Kotlin, that uses the Truffle language implementation framework on the GraalVM platform, which is a partial evaluation-based just-in-time compiler based on the Java Virtual Machine. The performance of these two interpreters is then compared on a number of normalization and elaboration tasks.The results are strongly negative, however, the influence of JIT compilation is not noticeable given the large overhead of the JVM platform. This thesis concludes with a number of alternative projects that would use the capabilities of Truffle better.cs
dc.description.markBcs
dc.identifier.citationZÁRYBNICKÝ, J. Just-in-time kompilace závisle typovaného lambda kalkulu [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2021.cs
dc.identifier.other136830cs
dc.identifier.urihttp://hdl.handle.net/11012/200200
dc.language.isoencs
dc.publisherVysoké učení technické v Brně. Fakulta informačních technologiícs
dc.rightsStandardní licenční smlouva - přístup k plnému textu bez omezenícs
dc.subjectTruffleen
dc.subjectVirtuální stroj JVMen
dc.subjectjust-in-time překladen
dc.subjecttvorba překladačůen
dc.subjectzávislé typyen
dc.subjectTrufflecs
dc.subjectJava Virtual Machinecs
dc.subjectjust-in-time compilationcs
dc.subjectcompiler constructioncs
dc.subjectdependent typescs
dc.titleJust-in-time kompilace závisle typovaného lambda kalkuluen
dc.title.alternativeJust-in-Time Compilation of Dependently-Typed Lambda Calculuscs
dc.typeTextcs
dc.type.drivermasterThesisen
dc.type.evskpdiplomová prácecs
dcterms.dateAccepted2021-06-22cs
dcterms.modified2021-06-24-11:34:53cs
eprints.affiliatedInstitution.facultyFakulta informačních technologiícs
sync.item.dbid136830en
sync.item.dbtypeZPen
sync.item.insts2021.11.12 18:12:24en
sync.item.modts2021.11.12 17:15:55en
thesis.disciplineInteligentní systémycs
thesis.grantorVysoké učení technické v Brně. Fakulta informačních technologií. Ústav inteligentních systémůcs
thesis.levelInženýrskýcs
thesis.nameIng.cs
Files
Original bundle
Now showing 1 - 4 of 4
Loading...
Thumbnail Image
Name:
final-thesis.pdf
Size:
1.14 MB
Format:
Adobe Portable Document Format
Description:
final-thesis.pdf
Loading...
Thumbnail Image
Name:
Posudek-Vedouci prace-24198_v.pdf
Size:
85.43 KB
Format:
Adobe Portable Document Format
Description:
Posudek-Vedouci prace-24198_v.pdf
Loading...
Thumbnail Image
Name:
Posudek-Oponent prace-24198_o.pdf
Size:
88.56 KB
Format:
Adobe Portable Document Format
Description:
Posudek-Oponent prace-24198_o.pdf
Loading...
Thumbnail Image
Name:
review_136830.html
Size:
1.46 KB
Format:
Hypertext Markup Language
Description:
review_136830.html
Collections