Matija Pretnar

Matija Pretnar

Fakulteta za matematiko in fiziko
Jadranska 21, SI-1000 Ljubljana
tel: +386 1 4766 551
matija.pretnar@fmf.uni-lj.si
@matijapretnar

Research

I study formalization, implementation, and semantics of programming languages. Together with Gordon Plotkin (who was my PhD supervisor), we discovered handlers of algebraic effects. Together with Andrej Bauer, we are implementing them in Eff, which is a functional programming language that treats effects the way they should be treated.

For those interested, here is a list of my publications.

Poučevanje

Zaposlen sem kot asistent, vodim pa vaje iz večinoma računalniških predmetov. Za lastne potrebe pri poučevanju sem razvil:


Publications

An Effect System for Algebraic Effects and Handlers
The paper presents a region-based effect system for algebraic effects and handlers.
Programming with Algebraic Effects and Handlers
The introduction of Eff. The paper gives an introduction to algebraic effects and handlers geared towards programmers, the syntax and semantics of Eff, and a lot of examples.
Handling Algebraic Effects
The journal version of Handlers of Algebraic Effects, published in LMCS.
Handlers of Algebraic Effects
This is the paper that introduced handlers. However, please read Handling Algebraic Effects instead, as it has been significantly cleaned up.
A Logic for Algebraic Effects
The Logic and Handling of Algebraic Effects
My PhD thesis
Sintetična topologija
My BSc thesis

Sestavljanje izpitnih pol

Da bi olajšal sestavljanje izpitnih pol, sem pripravil LaTeXovski paket, ki veliko večino dela postori sam. Vse, kar morate podati, so podatki o izpitu (ime, datum, navodila in učilnico) ter naloge.

Paket nato avtomatsko oblikuje glavo izpita, sedežni red, polja za ime, vpisno številko in točke ter podobno. Poleg tega vam omogoča, da za vsak izpit pripravite tako verzijo za reševanje na polo kot verzijo za objavo v arhivu.

vzorec.pdf
PDF z vzorčnim izpitom
vzorec-arhiv.pdf
PDF z istim izpitom, le pripravljenim za objavo v arhivu
izpit.zip
Datoteka s paketom ter vzorčnim izpitom

Če želite starejšo različico paketa, poglejte na GitHub.


Generiranje nalog

Spodnji program za dani seznam študentov omogoča generiranje naključnih nalog ter njihovih rešitev. Program sprejme:

  1. seznam nalog (vsaka je opisana s programom v Mathematici),
  2. vzorčno datoteko (ponavadi v LaTeXu) in
  3. seznam študentov,

nato pa ustvari posamezne datoteke z nalogami in skupno datoteko z rešitvami. Naloge niso čisto naključne, saj vam program za istega študenta vedno vrne enako nalogo. To vam omogoča, da naloge naknadno popravljate, ne da bi se vam pri tem v celoti spremenile.

generiranje-nalog.zip
Datoteka s programom ter vzorcem

Če želite starejšo različico programa, poglejte na GitHub.