Cílem bakalářské práce je ukázat výhody a nevýhody tacit přístupu k programování a jak navrhnout vlastní doménově specifický jazyk (DSL), který právě využívá tacitní syntaxi. Navrhnutý jazyk se hodí pro tvoření konkurentních programů s několika příklady využití.
Anotace v angličtině
The goal of the bachelor thesis is to show what are the positives and negatives of tacit programming and how to design a domain specific language (DSL) with a tacit syntax. The resulting language is well suited for writing concurrent programs with some examples.
haskell,domain specific language,tacit programming,concurrency,parser,template haskell, metaprogramming
Rozsah průvodní práce
55
Jazyk
CZ
Anotace
Cílem bakalářské práce je ukázat výhody a nevýhody tacit přístupu k programování a jak navrhnout vlastní doménově specifický jazyk (DSL), který právě využívá tacitní syntaxi. Navrhnutý jazyk se hodí pro tvoření konkurentních programů s několika příklady využití.
Anotace v angličtině
The goal of the bachelor thesis is to show what are the positives and negatives of tacit programming and how to design a domain specific language (DSL) with a tacit syntax. The resulting language is well suited for writing concurrent programs with some examples.
haskell,domain specific language,tacit programming,concurrency,parser,template haskell, metaprogramming
Zásady pro vypracování
Cílem bakalářské práce je ukázat výhody a nevýhody tacit přístupu k programování. Výstupem práce bude návrh vlastního doménově specifického jazyka (DSL), který bude využívat tacit programming, a navazující pilotní implementace jeho interpretu.
Návrh jazyka by se měl soustředit na následující body:
přehledná syntaxe,
možnosti použití vysokoúrovňových nástrojů pro překlad a podporu běhu programu (např. LLVM v Haskellu) včetně parsování jazyka (např. Parsec v Haskellu),
efektivita při vykonávaní,
případná podpora paralelních výpočtů.
Osnova:
tacit programming
principy a odlišnosti od klasického procedurálního paradigmatu
Cílem bakalářské práce je ukázat výhody a nevýhody tacit přístupu k programování. Výstupem práce bude návrh vlastního doménově specifického jazyka (DSL), který bude využívat tacit programming, a navazující pilotní implementace jeho interpretu.
Návrh jazyka by se měl soustředit na následující body:
přehledná syntaxe,
možnosti použití vysokoúrovňových nástrojů pro překlad a podporu běhu programu (např. LLVM v Haskellu) včetně parsování jazyka (např. Parsec v Haskellu),
efektivita při vykonávaní,
případná podpora paralelních výpočtů.
Osnova:
tacit programming
principy a odlišnosti od klasického procedurálního paradigmatu
DIEL, Stephen. Implementing a JIT Compiled Language with Haskell and LLVM [online]. 2017 [cit. 2022-01-07].
Dostupné z: https://www.stephendiehl.com/llvm/
LATTNER, Chris. Introduction to the LLVM Compiler System [online]. ACAT’08, 2008 [cit. 2022-01-07].
Dostupné z: https://llvm.org/pubs/2008-10-04-ACAT-LLVM-Intro.pdf
RAHIEN, Ayende. DSLs in Boo: Domain Specific Languages in .NET. Manning Publications, 2010. ISBN 978-1933988603.
Seznam doporučené literatury
DIEL, Stephen. Implementing a JIT Compiled Language with Haskell and LLVM [online]. 2017 [cit. 2022-01-07].
Dostupné z: https://www.stephendiehl.com/llvm/
LATTNER, Chris. Introduction to the LLVM Compiler System [online]. ACAT’08, 2008 [cit. 2022-01-07].
Dostupné z: https://llvm.org/pubs/2008-10-04-ACAT-LLVM-Intro.pdf
RAHIEN, Ayende. DSLs in Boo: Domain Specific Languages in .NET. Manning Publications, 2010. ISBN 978-1933988603.