Témata prací (Výběr práce)Témata prací (Výběr práce)(verze: 368)
Detail práce
   Přihlásit přes CAS
Frege IDE with JetBrains MPS
Název práce v češtině: Frege IDE nad JetBrains MPS
Název v anglickém jazyce: Frege IDE with JetBrains MPS
Klíčová slova: Frege, Haskell, IDE, MPS, projekční editor
Klíčová slova anglicky: Frege, Haskell, IDE, MPS, projectional editor
Akademický rok vypsání: 2015/2016
Typ práce: diplomová práce
Jazyk práce: angličtina
Ústav: Katedra distribuovaných a spolehlivých systémů (32-KDSS)
Vedoucí / školitel: doc. RNDr. Pavel Parízek, Ph.D.
Řešitel: skrytý - zadáno a potvrzeno stud. odd.
Datum přihlášení: 17.05.2016
Datum zadání: 01.06.2016
Datum potvrzení stud. oddělením: 28.06.2016
Datum a čas obhajoby: 10.09.2018 00:00
Datum odevzdání elektronické podoby:19.07.2018
Datum odevzdání tištěné podoby:20.07.2018
Datum proběhlé obhajoby: 10.09.2018
Oponenti: RNDr. Miroslav Kratochvíl, Ph.D.
 
 
 
Zásady pro vypracování
Frege is an open-source project that aims to bring Haskell to the Java ecosystem.
Haskell is a purely functional programming language with strong typing and advanced DSL capabilities.
This practical thesis should focus on building typical IDE infrastructure to assist developers when editing, testing and debugging programs in Frege - this includes support for code completion, error checking, static code analysis, and refactoring.
The IDE will be implemented with JetBrains MPS - an open-source language workbench built around a projectional (structured) editor.

In order to develop a fully-functional IDE, a candidate should do the following:
1) describe Frege syntax using the MPS structure language
2) create a set of intuitive editors for editing the Frege syntax
3) define type-system rules that would identify type errors in the editor
4) implement code generators for Frege

Additional goals of the thesis include analysis of the possible synergies between a projectional editor and a purely functional programming language, and evaluating whether and why projectional editing offers more convenience for editing purely functional languages compared to plain-text editors.
Seznam odborné literatury
1. The Frege project, https://github.com/Frege/frege
2. The Haskell language, https://www.haskell.org/
3. JetBrains MPS, http://www.jetbrains.com/mps/
 
Univerzita Karlova | Informační systém UK