Frege IDE with JetBrains MPS
Frege IDE nad JetBrains MPS
diplomová práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/101360Identifikátory
SIS: 178495
Kolekce
- Kvalifikační práce [10690]
Autor
Vedoucí práce
Oponent práce
Kratochvíl, Miroslav
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Softwarové a datové inženýrství
Katedra / ústav / klinika
Katedra distribuovaných a spolehlivých systémů
Datum obhajoby
10. 9. 2018
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Velmi dobře
Klíčová slova (česky)
Frege, Haskell, IDE, MPS, projekční editorKlíčová slova (anglicky)
Frege, Haskell, IDE, MPS, projectional editorFrege je open-source projekt, ktorý prináša populárny funkcionálny programovací jazyk Haskell pre platformu Java. JetBrains MPS je zase open-source nástroj pre vytváranie nových programovacích jazykov a vývojových integrovaných prostredí na báze projekčného editoru. V tejto práci analyzujeme gramatiku pre jazyk Frege a popisujeme postup vývoja integrovaného prostredia postaveného nad nástrojom JetBrains MPS pre uľahčenie vývojárom s písaním kódu vo Frege. Naše vývojové prostredie zahŕňa intuitívny editor pre editáciu syntaxe v jazyku Frege, poskytuje jednoduchú typovú kontrolu a obsahuje generátory pre textový výstup zadaného programu. Cieľom nášho nástroju je jeho užívateľská prívetivosť. Táto práca v závere taktiež porovnáva projekčné editory oproti bežným vývojovým prostrediam založených na editácii textu, ako je napríklad Eclipse, a skúma, či projekčné editory poskytujú akúkoľvek výhodu pri písaní kódu vo funkcionálnych programovacích jazykoch.
Frege is an open-source project which brings the popular functional programming language Haskell to the Java ecosystem. JetBrains MPS is an open-source language workbench which allows users to design a new language and build an integrated development environment with a projectional (structured) editor for the created language. In this work we analyzed Frege grammar and created an IDE based on MPS that assists developers with writing code in the Frege language. Our environment includes a set of intuitive editors for editing Frege syntax, provides a simple type checking and implements code generators for the Frege language. Aim of the Frege IDE is its usability. Additionally, the thesis compares projectional editors with the more common plain-text IDEs, such as Eclipse, and evaluates whether they offer any advantage for editing purely functional programming languages.