izpis_h1_title_alt

Prevajanje prestreznikov algebrajskih učinkov v jezik brez učinkov : magistrsko delo
ID Zupančič, Žiga (Avtor), ID Pretnar, Matija (Mentor) Več o mentorju... Povezava se odpre v novem oknu

.pdfPDF - Predstavitvena datoteka, prenos (723,10 KB)
MD5: 581FC310FC6C2D909534FFCD8DC217CA

Izvleček
V delu je predstavljen funkcijski programski jezik Eff za delo z algebrajskimi učinki in njihovimi prestrezniki. Na primeru je prikazan prevod v OCaml in predstavljena učinkovitost izvajanja glede na ročno napisano kodo v OCaml-u. Opisana je optimizacija prevajanja in kakšne težave pri tem nastanejo. Kot rešitev je predstavljen eksplicitno tipiziran jezik ExEff z eksplicitnimi učinki in ciljni jezik tega jezika. Kot drug možen ciljni jezik je predstavljen eksplicitno tipiziran jezik NoEff, ki ne vsebuje eksplicitnih učinkov, sledi le njihovi uporabi. Dokazana sta izreka o ohranitvi ter delnem napredku za NoEff s spremljajočimi lemami. Opisana so pravila za prevajanje tipov, pretvorb, vrednosti in izračunov iz ExEff v NoEff. Podan je primer prevoda in dokazan je izrek o ohranitvi tipov. Na kratko je razložena tudi implementacija v jeziku OCaml, kjer predstavimo strukturo in nekatere dele kode.

Jezik:Slovenski jezik
Ključne besede:računski učinki, prestrezniki algebrajskih učinkov, eksplicitni tipi, jezik brez eksplicitnih učinkov
Vrsta gradiva:Magistrsko delo/naloga
Organizacija:FMF - Fakulteta za matematiko in fiziko
Leto izida:2020
PID:20.500.12556/RUL-115230 Povezava se odpre v novem oknu
UDK:004.4
COBISS.SI-ID:25937155 Povezava se odpre v novem oknu
Datum objave v RUL:19.04.2020
Število ogledov:1521
Število prenosov:207
Metapodatki:XML RDF-CHPDL DC-XML DC-RDF
:
Kopiraj citat
Objavi na:Bookmark and Share

Sekundarni jezik

Jezik:Angleški jezik
Naslov:Elaboration of algebraic effect handlers to a language without effects
Izvleček:
In this work a functional programming language based on algebraic effect handlers, called Eff, is presented. It is shown on an example how it is translated to OCaml and how efficient its execution is in comparison to hand-written OCaml code. A compilation optimization is described and so are the difficulties of it. As a solution an explicitly typed language with explicit dirt, called ExEff, is presented and a backend for it. As another possible backend an explicitly typed language, called NoEff, is presented, which does not include explicit dirt but it tracks its use. Preservation and partial progress theorems are proved for NoEff with the corresponding lemmas. Rules for elaborating types, coercions, values and computations from ExEff to NoEff are described. An example of elaboration is given and the type preservation theorem is proved. Implementation to OCaml is briefly explained containing structure information and parts of the code.

Ključne besede:computational effects, algebraic effect handlers, explicit types, language without explicit effects

Podobna dela

Podobna dela v RUL:
Podobna dela v drugih slovenskih zbirkah:

Nazaj