Témata prací (Výběr práce)Témata prací (Výběr práce)(verze: 393)
Detail práce
   
Doménově specifické jazyky
Název práce v češtině: Doménově specifické jazyky
Název v anglickém jazyce: Domain Specific Languages
Akademický rok vypsání: 2008/2009
Typ práce: diplomová práce
Jazyk práce: čeština
Ústav: Katedra teoretické informatiky a matematické logiky (32-KTIML)
Vedoucí / školitel: RNDr. Jan Hric
Řešitel: skrytý - zadáno a potvrzeno stud. odd.
Datum přihlášení: 19.11.2008
Datum zadání: 19.11.2008
Datum a čas obhajoby: 21.09.2009 00:00
Datum odevzdání elektronické podoby:21.09.2009
Datum proběhlé obhajoby: 21.09.2009
Oponenti: doc. RNDr. Pavel Surynek, Ph.D.
 
 
 
Zásady pro vypracování
Doménově specifické jazyky se navrhují pro práci v určité oblasti
(např. parsing [1] kap. 13, pretty printing, grafika, testování, XML
[2], Web [3]) a používají data a operace specifické pro danou oblast. Jeden
způsob implementace je návrh sady procedur zaměřených na danou
doménu, obvykle ve formě kombinátorů [2]. Rozeberte postupy používané
při tvorbě vnořených doménově specifických jazyků (DSEL - Domain Specific
Embedded Languages), zaměřte se přitom na funkcionální programování [1].
Zhodnoďte výhody a nevýhody těchto postupů.

Charakterizujte techniky a přístupy
používané při tvorbě DSL, např. kombinátory a fantomové typy. Popište
vhodnost a využití rozšíření jazyků funkcionálního programování
a/anebo porovnejte programátorské techniky mezi funkcionálními a jinými jazyky [4].

Součásti práce může být návrh DSL pro vhodnou
doménu, na kterém budou předvedeny vybrané postupy.
Seznam odborné literatury
[1] Simon Thompson: Haskell. The Craft of Functional Programming.
Addison-Wesley, Harlow, England, 1997

[2] Malcolm Wallace, Colin Runciman: Haskell and XML: Generic
Combinators or Type-Based Translation? ICFP 1999, ACM, pp. 148-159

[3] Eelco Visser: WebDSL: A Case Study in Domain-Specific Language
Engineering, Generative and Transformational Techniques in Software
Engineering II, LNCS 5235, Springer, 2008, pp. 291-373

[4] Czarnecki, K., O'Donnell, J., Striegnitz, J., Taha, W.: DSL
implementation in MetaOCaml, Template Haskell, and C++. In: Lengauer,
C., Batory, D., Consel, C., Odersky, M. (eds.) Domain-Specific
Program Generation. LNCS, vol. 3016, pp. 50-71. Springer, Heidelberg
(2004)
 
Univerzita Karlova | Informační systém UK