Projekt: Kompilacja efektów algebraicznych

Język wykładowy Polski
Semestr Letni
Status W ofercie
Opiekun Piotr Polesiuk
Liczba godzin 30 (prac.)
Rodzaj Projekt
ECTS 4
Polecany dla I roku Nie
Egzamin Tak

Opis przedmiotu:

Szukamy odważnej załogi gotowej na niebezpieczną wyprawę. Praca ciężka, warunki trudne, wynagrodzenie marne, a szanse na powodzenie wątpliwe. W przypadku sukcesu -- chwała i uznanie. Celem projektu jest zaprojektowanie oraz implementacja języka funkcyjnego z efektami algebraicznymi. Główne zadanie polega na zbootstrapowaniu kompilatora, czyli napisaniu kompilatora w tym samym języku, który jest wejściem dla owego kompilatora. Oprócz tego istnieje szereg pomniejszych zadań związanych ze stworzeniem ekosystemu wokół języka (biblioteka standardowa, wtyczki do popularnych edytorów, serwer języka, debugger, itp.). Podczas tej drogi zetkniemy się z m.in. następującymi zagadnieniami: - projektowanie języków programowania, - projektowania i analiza systemów typów, - projektowanie architektury kompilatorów, - programowanie z efektami algebraicznymi, - kompilowanie języków funkcyjnych, - kompilowanie zaawansowanych mechanizmów sterowania, - generowanie kodu niskopoziomowego. Praca nad projektem będzie miała charakter zespołowy. Student, po przydzieleniu zadania ustala koncepcję implementacji, która później jest wspólnie omawiana podczas spotkania projektowego. Opracowany kod oraz dokumentacja projektu będzie podlegać recenzji ze strony prowadzącego oraz innych studentów. Przedmiot zalicza wymaganie projektu zespołowego. Można uczestniczyć w nim wielokrotnie.