Detail práce

Just-in-Time Compilation of Dependently-Typed Lambda Calculus

Diplomová práce Student: Zárybnický Jakub Akademický rok: 2020/2021 Vedoucí: Lengál Ondřej, Ing., Ph.D.
Název česky
Just-in-time kompilace závisle typovaného lambda kalkulu
Jazyk práce
anglický
Abstrakt

Ř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ů.

Klíčová slova

Truffle, Virtuální stroj JVM, just-in-time překlad, tvorba překladačů, závislé typy

Ústav
Studijní program
Informační technologie a umělá inteligence, specializace Inteligentní systémy
Soubory
Stav
obhájeno, hodnocení B
Obhajoba
22. června 2021
Oponent
Průběh obhajoby

Student 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
  1. Můžete diskutovat případnou možnost praktické využitelnosti práce?
  2. Vypořádáváte se nějak s ověřováním terminace?
  3. Můžete prosím ještě jednou vysvětlit graf na slidu 9?
  4. Proč jste vaši práci nekonzultoval častěji s vedoucím?
  5. Proč je u vašeho řešení důležitá rychlost?
Komise
Zbořil František V., doc. Ing., CSc. (UITS FIT VUT), předseda
Hradiš Michal, Ing., Ph.D. (UPGM FIT VUT), člen
Janoušek Vladimír, doc. Ing., Ph.D. (UITS FIT VUT), člen
Peringer Petr, Dr. Ing. (UITS FIT VUT), člen
Smrčka Aleš, Ing., Ph.D. (UITS FIT VUT), člen
Citace
ZÁRYBNICKÝ, Jakub. Just-in-Time Compilation of Dependently-Typed Lambda Calculus. Brno, 2021. Diplomová práce. Vysoké učení technické v Brně, Fakulta informačních technologií. 2021-06-22. Vedoucí práce Lengál Ondřej. Dostupné z: https://www.fit.vut.cz/study/thesis/24198/
BibTeX
@mastersthesis{FITMT24198,
    author = "Jakub Z\'{a}rybnick\'{y}",
    type = "Diplomov\'{a} pr\'{a}ce",
    title = "Just-in-Time Compilation of Dependently-Typed Lambda Calculus",
    school = "Vysok\'{e} u\v{c}en\'{i} technick\'{e} v Brn\v{e}, Fakulta informa\v{c}n\'{i}ch technologi\'{i}",
    year = 2021,
    location = "Brno, CZ",
    language = "english",
    url = "https://www.fit.vut.cz/study/thesis/24198/"
}
Nahoru