05.
nov
Zagovor magistrskega dela: Luka Šveigl
ob 09:00

Naslov magistrskega dela: Implementacija dvosmerne tipizacije

 

Povzetek: 

Magistrsko delo obravnava implementacijo dvosmernega tipiziranja v programskem jeziku Millet. Obstoječa implementacija temelji na Hindley–Milnerjevem sistemu tipov, ki tipe izpeljuje z generiranjem enačb med tipi in njihovim poenotenjem. Dvosmerno tipiziranje ta pristop nadomesti z ločenima postopkoma sinteze tipa iz izraza in preverjanja izraza glede na pričakovani tip. Delo predstavi prilagoditev tipnega sistema in implementacijo ključnih postopkov za sintezo in preverjanje tipov. Posebna pozornost je namenjena obravnavi izrazov, funkcijskih abstrakcij in aplikacij. Delo obravnava tudi vpliv spremembe na potrebo po eksplicitnih anotacijah tipov in na sporočila o napakah. Rezultati pokažejo, da dvosmerni pristop omogoča natančnejšo obravnavo nekaterih napak pri tipiziranju. Medtem ko je prvotna implementacija večino neujemanj poročala kot neuspeh poenotenja tipov, nova implementacija za nekatere primere poda specifičnejša sporočila, ki so povezana s konstrukcijo, pri kateri je prišlo do napake. 

 

 

Mentor: doc. dr. Boštjan Slivnik

Somentor: izr. prof. dr. Matija Pretnar

 

 

 

Komisija za zagovor:

prof. dr. Janez Demšar (predsednik),

izr. prof. dr. Jurij Mihelič (član),

izr. prof. dr. Andrej Brodnik (član). 

 

Prostor: Diplomska soba