- Research Area
- Introduction
- Type System
- version 2 roadmap
- MIMUW
- Using nianio pattern in JS
- Using nianio pattern in C
- Introduction to json-ptd technology
- json-ptd specification
- PHP json-ptd validator documentation
- JavaScript json-ptd validator documentation
- JavaScript json-ptd validator
Tematy na prace magisterskie
Zrealizowane prace powinny być przekazane na licencji MIT do domeny publicznej.
Realizację kodu, który zostanie wprowadzony do głównej wersji źródeł NianioLang.org firma Atinea nagrodzi stypendium w wysokości 3000PLN brutto. Możliwość wykonywania implementacji w siedzibie Atinea i rozliczenie za godziny za czas poświęcony na kodowanie.
Potrzebne nam tematy:
- Przeniesienie TypeCheckera z drzewa AST na Asm
- Rozszerzenie TypeCheckera o zabronienie zamiany typu na postać
nietypowaną
- Na podstawie “Gradual Typing for Objects”.
- wartość: powyższa idea zaadaptowana do struktur niemutowalnych dyskusja nad uproszczeniem do struktur niemutowalnych zmierzenie liczby błędów wykrytych w istniejącym kodzie
- Dodanie own (określenie, że dana zmienna nie może być kopiowana i wykorzystanie tej informacji przy kompilacji)
- Kompilacja do struktur języka C
- są prace na temat own (splint, też przy okazji Javy)
- zrobić benchmark, który sprawdza przyrost prędkości przy zmianie sposobu kompilacji
- Wyliczanie stałych w czasie kompilacji i tym samym typów, aby można
je było włożyć do sekcji data pliku binarnego
- To jest temat z zakresu partial evaluation (duży temat).
- To ma przyspieszać wstawanie aplikacji i wykonanie.
- Zrobić benchmark, który powyższe sprawdza.
- Kompilacja do JS wykorzystująca own
- kompilacja nawet to asmjs (http://asmjs.org/) lub inne podobne
- To ma przyspieszać wstawanie aplikacji i wykonanie.
- Zrobić benchmark, który powyższe sprawdza.
- Nowy PrettyPrinter
- sporo literatury
- można zrobić interesujący pretty printer, który optymalizuje sporo rzeczy
- problem z wykazaniem użyteczności
- Automatyczne zrównoleglanie
- duży potencjał
Tematy nie pilne
Kompilacja do stałej alokacji pamięci – bez potrzeby malloca (systemy wbudowane i real-time)
Przemyślenie systemu modułów
Funkcje wyższego rzędzu
Typy zależne (od Jacka)
Kompilacja do innych języków
Dowodzenie poprawności???
Kontakt
W przypadku zainteresowania zapraszam do kontaktu
Andrzej Gąsienica-Samek
ags@atinea.pl
Atinea Sp. z o.o.
ul. Kazimierzowska 22 lok. 1
02-572 Warszawa