Skip to main content
Login | Suomeksi | På svenska | In English

Funktionaalisten kielten ydinpiirteiden toteutus oliokielten virtuaalikonealustoilla

Show full item record

Title: Funktionaalisten kielten ydinpiirteiden toteutus oliokielten virtuaalikonealustoilla
Author(s): Leppänen, Laura
Contributor: University of Helsinki, Faculty of Science, Department of Computer Science
Discipline: Computer science
Language: Finnish
Acceptance year: 2017
Abstract:
Tutkielma käsittelee funktionaalisille kielille tyypillisten piirteiden, ensimmäisen luokan funktioarvojen ja häntäkutsujen toteutusta oliokielille suunnatuilla JVM- ja .NET-virtuaalikonealustoilla. Oliokielille suunnattujen virtuaalikonealustojen tarjoamien tavukoodirajapintojen rajoitteet verrattuna matalamman tason assembly-kieliin ovat pitkään aiheuttaneet valtavirran oliokielistä poikkeavien kielten toteuttajille päänvaivaa. Tarkasteltavista alustoista .NET-alustan tavoitteena on alusta asti ollut monenlaisten kielten tukeminen. JVM-alustalla erilaisten kielten toteuttajien tarpeisiin on havahduttu vasta viimeisten vuosien aikana. Tutkielma tarkastelee, millaisia mahdollisuuksia alustat nykyisellään tarjoavat ensimmäisen luokan funktioarvojen ja häntäkutsujen toteuttajille ja miten alustoilla käytettävät toteutustekniikat poikkeavat perinteisistä konekieltä tuottavista kääntäjistä. Lisäksi esitetään arvio alustojen tarjoaman tuen soveltuvuudesta funktionaalisten kielten toteuttajien käyttöön ja verrataan alustojen tarjoamia tukitoimintoja. Arvioinnin tueksi esitellään oma prototyyppitoteutus Scheme-kielen osajoukolle, Cottontail Scheme, sekä selvitetään, millaisia toteutustekniikoita olemassa olevat funktionaaliset kielet tai funktionaalisia piirteitä tukevat moniparadigmakielet tällä hetkellä käyttävät virtuaalikonealustoilla. Tutkielmassa tehdyn vertailun perusteella havaittiin, että molemmilla alustoilla on omat vahvuutensa: JVM-alustan sulkeumien tuki on parantunut huomattavasti erityisesti JVM-alustan Java SE 8 -version myötä, mutta .NET-alusta on edelleen ainoa alusta, joka tarjoaa sisäänrakennettua tukea häntäkutsuille. Olemassa olevien kielten vertailussa huomattiin, että harva kielistä hyödyntää ominaisuuksien toteutuksessa alustan tukea, mikä saattaa esimerkiksi JVM-alustan sulkeumatuen tapauksessa johtua yksinomaan toiminnallisuuden tuoreudesta. Kummankaan alustoista ei havaittu tällä hetkellä tarjoavan selvästi toista parempaa tukea esimerkiksi Schemen kaltaisten funktionaalisten kielten toteuttajille.


Files in this item

Files Size Format View
gradu-final.pdf 771.7Kb PDF

This item appears in the following Collection(s)

Show full item record