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) |
- zadáno a potvrzeno stud. odd.