magistrsko delo
Janez Radešček (Avtor), Matija Pretnar (Mentor), Danel Ahman (Komentor)

Povzetek

V delu si pogledamo programski jezik Æff in $\lambda_æ$-račun, na katerem temelji. Glavna lastnost $\lambda_æ$-računa je možnost asinhronega izvajanja v navezi z vzporednim izvajanjem. To dosežemo tako, da prestreznik naprej izvaja svoje nadaljevanje, medtem ko čaka, da dobi odgovor v obliki učinka iz drugega procesa. Ko prestreže želeni učinek, ga primerno obdela in izvajanje se spet nadaljuje. Osnovno verzijo $\lambda_æ$-računa razširimo z rekurzivnimi obljubami, mobilnimi tipi in dinamičnimi procesi. Rekurzivne obljube omogočijo, da bo program lahko reagiral na več učinkov z istim imenom operacije. Mobilni tipi omogočijo pošiljanje vrednosti višjega reda, predvsem funkcij. Dinamični procesi omogočijo ustvarjanje novih procesov sproti po potrebi. Dokažemo izreka o napredku in ohranitvi za osnovni in razširjen $\lambda_æ$-račun. Omenimo tudi nekatere razlike med $\lambda_æ$-računom in dejansko implementacijo jezika Æff.

Ključne besede

asinhrono izvajanje;algebrajski učinki;vzporedno izvajanje;prestrezniki;signali;

Podatki

Jezik: Slovenski jezik
Leto izida:
Tipologija: 2.09 - Magistrsko delo
Organizacija: UL FMF - Fakulteta za matematiko in fiziko
Založnik: [J. Radešček]
UDK: 004.42
COBISS: 83902723 Povezava se bo odprla v novem oknu
Št. ogledov: 1172
Št. prenosov: 76
Ocena: 0 (0 glasov)
Metapodatki: JSON JSON-RDF JSON-LD TURTLE N-TRIPLES XML RDFA MICRODATA DC-XML DC-RDF RDF

Ostali podatki

Sekundarni jezik: Angleški jezik
Sekundarni naslov: Asynchronous algebraic effects
Sekundarni povzetek: We take a look at the programming language Æff and $\lambda_æ$-calculus on which Æff is based. The main feature of the $\lambda_æ$-calculus is the ability to run asynchronously in conjunction with parallel execution. This is accomplished by continuing to perform operation’s continuation while it waits to receive a response in the form of an effect from another process. Once it receives the response, it processes it appropriately and execution resumes. We extend the basic version of the $\lambda_æ$-calculus with recursive promises, mobile types, and dynamic processes. Recursive promises allow the program to be able to respond to multiple effects with the same operation name. Mobile types allow you to send higher-order values between parallel processes, especially functions. Dynamic processes allow you to create new processes on the fly as needed. We prove the progress and preservation theorem for the basic and extended $\lambda_æ$-calculus. We also mention some differences between the $\lambda_æ$-calculus and the actual implementation of the Æff language.
Sekundarne ključne besede: asynchronous execution;algebraic effects;parallel execution;handlers;signals;
Vrsta dela (COBISS): Magistrsko delo/naloga
Študijski program: 0
Komentar na gradivo: Univ. v Ljubljani, Fak. za matematiko in fiziko, Oddelek za matematiko, Matematika - 2. stopnja
Strani: IX, 65 str.
ID: 13854621
Priporočena dela: