<?xml version="1.0" encoding="utf-8"?>
<Gradivo ID="143251" NadgradivoID="0" NRID="17361089" OceID="0" DomainUrl="https://repozitorij.uni-lj.si/" IzpisPolniUrl="https://repozitorij.uni-lj.si/IzpisGradiva.php?lang=slv&amp;id=143251" StOgledov="2791" StPrenosov="321" StOcen="0" VsotaOcen="0" DatumIzvoza="2026-08-27 15:41:57" OcenaSkupna="0" StPodgradiv="0" StudijskiProgramEvsID="1000471" JeIndeksirano="0" JeVecAvtorjev="0" DovoliZahtevkeZaDostop="0">
  <PID Url="http://hdl.handle.net/20.500.12556/RUL-143251">20.500.12556/RUL-143251</PID>
  <Naslov>Len funkcijski programski jezik brez čistilca pomnilnika</Naslov>
  <Podnaslov></Podnaslov>
  <TujJezik_Naslov>Lazy functional programming language without garbage collector</TujJezik_Naslov>
  <TujJezik_Podnaslov></TujJezik_Podnaslov>
  <Opis>Moderni programski jeziki omogočajo dodeljevanje in sproščanje pomnilnika med izvajanjem programov. Ustrezno upravljanje s pomnilnikom je zato ključno. Razvili smo funkcijski programski jezik, ki je len in ne uporablja čistilca pomnilnika, kot je to običajno v praksi (Haskell, OCaml). Namesto čistilca predlagamo statično analizo, v osrčju katere sta princip enojnega lastništva in izposoja. Čiščenje pomnilnika v razvitem jeziku je v celoti deterministično, dodatnemu delu v času izvajanja se skoraj povsem izognemo, statična analiza pa zagotovi, da ne prihaja do smetenja in izvisenih kazalcev. Za programski jezik smo razvili tudi prototipni prevajalnik, s katerim dokažemo uspešnost statične analize in pokažemo, da upravljanje s pomnilnikom že v prototipni implementaciji deluje zelo dobro.</Opis>
  <TujJezik_Opis>Modern programming languages allow for a dynamic memory allocation during program execution. Proper memory management is, consequently, vital. We developed a functional programming language that is lazy and does not rely on a garbage collector, which is the traditional technique for memory management in this domain (Haskell, OCaml). Instead of a collector, we propose a static analysis at the heart of which are the principle of single ownership and borrowing. As a result, memory management in the developed language is entirely deterministic, the overhead during runtime execution is minimal, and the static analysis ensures that there can be no garbage and dangling pointers. Additionally, we developed a compiler to demonstrate that the static analysis is functioning and to show that memory management works well even in the prototypical implementation.</TujJezik_Opis>
  <KljucneBesede>
    <Beseda>prevajalnik</Beseda>
    <Beseda>interpreter</Beseda>
    <Beseda>navidezni stroj</Beseda>
    <Beseda>programski jezik</Beseda>
    <Beseda>funkcijsko programiranje</Beseda>
    <Beseda>leni izračun</Beseda>
    <Beseda>upravljanje s pomnilnikom</Beseda>
    <Beseda>čistilec pomnilnika</Beseda>
    <Beseda>štetje referenc</Beseda>
    <Beseda>lastništvo</Beseda>
    <Beseda>izposoja</Beseda>
    <Beseda>puščanje pomnilnika</Beseda>
  </KljucneBesede>
  <TujJezik_KljucneBesede>
    <Beseda>compiler</Beseda>
    <Beseda>interpreter</Beseda>
    <Beseda>virtual machine</Beseda>
    <Beseda>programming language</Beseda>
    <Beseda>functional programming</Beseda>
    <Beseda>lazy evaluation</Beseda>
    <Beseda>memory management</Beseda>
    <Beseda>garbage collector</Beseda>
    <Beseda>reference counting</Beseda>
    <Beseda>ownership</Beseda>
    <Beseda>borrowing</Beseda>
    <Beseda>memory leaking</Beseda>
  </TujJezik_KljucneBesede>
  <Potrjeno>true</Potrjeno>
  <JeZaklenjeno>false</JeZaklenjeno>
  <JeRecenzirano>false</JeRecenzirano>
  <Zaloznik></Zaloznik>
  <Izvor></Izvor>
  <Jezik ID="1060" ISO639-3="slv">Slovenski jezik</Jezik>
  <TujJezik ID="1033" ISO639-3="eng">Angleški jezik</TujJezik>
  <Povezave></Povezave>
  <Pokrivanje></Pokrivanje>
  <CasovnoPokritje></CasovnoPokritje>
  <AvtorskePravice></AvtorskePravice>
  <VrstaGradiva ID="mb22" DRIVER="info:eu-repo/semantics/masterThesis">Magistrsko delo/naloga</VrstaGradiva>
  <DatumVstavljanja>2022-12-09 10:35:30</DatumVstavljanja>
  <DatumObjave>2022-12-09 10:35:36</DatumObjave>
  <DatumSpremembe>2023-01-06 06:39:04</DatumSpremembe>
  <DatumTrajnegaHranjenja>0000-00-00 00:00:00</DatumTrajnegaHranjenja>
  <LetoIzida>2022</LetoIzida>
  <LetoIzidaDo>0</LetoIzidaDo>
  <KrajIzida></KrajIzida>
  <LetoIzvedbe>0</LetoIzvedbe>
  <KrajIzvedbe></KrajIzvedbe>
  <Opomba></Opomba>
  <StStrani></StStrani>
  <StevilcenjeNivo1></StevilcenjeNivo1>
  <StevilcenjeNivo2></StevilcenjeNivo2>
  <Kronologija></Kronologija>
  <Patent_Stevilka></Patent_Stevilka>
  <Patent_DatumVeljavnosti>0000-00-00</Patent_DatumVeljavnosti>
  <VerzijaDokumenta>NiDoloceno</VerzijaDokumenta>
  <StatusObjaveDrugje>NiDoloceno</StatusObjaveDrugje>
  <VrstaStroskaObjave>NiDoloceno</VrstaStroskaObjave>
  <DatumPoslanoVRecenzijo>0000-00-00</DatumPoslanoVRecenzijo>
  <DatumSprejetjaClanka>0000-00-00</DatumSprejetjaClanka>
  <DatumObjaveClanka>0000-00-00</DatumObjaveClanka>
  <EmbargoDo></EmbargoDo>
  <VrstaEmbarga ID="1" Naziv="Takojšnja javna objava" OpenAIREDostop="openAccess"></VrstaEmbarga>
  <Osebe>
    <Oseba ID="77913" Ime="Toni" Priimek="Kocjan Turk" AltIme="" VlogaID="70" VlogaNaziv="Avtor" ConorID="" Afiliacija="" ArrsID="0" ORCID=""></Oseba>
    <Oseba ID="23518" Ime="Boštjan" Priimek="Slivnik" AltIme="" VlogaID="991" VlogaNaziv="Mentor" ConorID="3746915" Afiliacija="" ArrsID="12766" ORCID=""></Oseba>
  </Osebe>
  <Identifikatorji>
    <Identifikator ID="16" Sifra="VisID" Naziv="VisID" URL="">34122</Identifikator>
    <Identifikator ID="3" Sifra="CobissID" Naziv="COBISS_ID" URL="https://plus.cobiss.net/cobiss/si/sl/bib/136461571">136461571</Identifikator>
  </Identifikatorji>
  <Datoteke>
    <Datoteka ID="164874" DatotekaNRID="12609445" NamenDatotekeID="2" NamenDatoteke="Predstavitvena datoteka" FormatDatotekeID="2" FormatDatoteke=".pdf" MIME="application/pdf" IkonaFormata="pdf.png" IkonaFormataPolniUrl="https://repozitorij.uni-lj.si/teme/rulDev/img/fileTypes/pdf.png" VelikostDatoteke="585793" VelikostDatotekeKratko="572,06 KB" DatumVstavljanja="2022-12-09 10:35:36" JeZbrisana="false" JeJavnoVidna="true" JeIndeksirana="true" JeVidno="true" VidnoOd="01.01.1970" Zaporedje="0">
      <Naziv>Kocjan_turk_Toni_-_Len_funkcijski_programski_jezik_brez_cistilca_pomnilnika.pdf</Naziv>
      <OrgNaziv>Kocjan_turk_Toni_-_Len_funkcijski_programski_jezik_brez_cistilca_pomnilnika.pdf</OrgNaziv>
      <URL></URL>
      <Opis></Opis>
      <OpisTujJezik></OpisTujJezik>
      <UrlObdelave></UrlObdelave>
      <FrekvencaAzuriranjaID>1</FrekvencaAzuriranjaID>
      <Verzija></Verzija>
      <MD5>8582B97289174F07B304473B7058A0D3</MD5>
      <SHA256>a74e880140e623be8a9eec8816b49b2063120c89f3aaf3c2b8256d8d850c47f3</SHA256>
      <UUID>ac0d52b5-77a4-11ed-9c94-00155dcfd717</UUID>
      <PID></PID>
      <PrenosPolniUrl>https://repozitorij.uni-lj.si/Dokument.php?lang=slv&amp;id=164874</PrenosPolniUrl>
      <Vsebine>
        <Vsebina TipVsebine="GoloBesedilo" JezikID="1060" Oznaka="" Dolzina="128957"></Vsebina>
      </Vsebine>
    </Datoteka>
  </Datoteke>
  <Organizacije>
    <Organizacija OrganizacijaID="25" Kratica="FRI" ZavodEvsID="0000066" Logo="" LogoPolniUrl="https://repozitorij.uni-lj.si/teme/rulDev/img/logo/">Fakulteta za računalništvo in informatiko</Organizacija>
  </Organizacije>
  <OrganizacijeVira>
  </OrganizacijeVira>
  <MetodeZbiranjaPodatkov>
  </MetodeZbiranjaPodatkov>
  <TipologijaDela ID="2.09" Koda="2.09" Naziv="Magistrsko delo" SchemaOrg="Thesis"></TipologijaDela>
  <Ostalo>
    <StIrodsDatotek>0</StIrodsDatotek>
    <StDatotekPodTrajnimEmbargom>0</StDatotekPodTrajnimEmbargom>
    <StDatotekZOmejenimDostopom>0</StDatotekZOmejenimDostopom>
  </Ostalo>
</Gradivo>
