Název:
Functional reactive programming for web applications
Překlad názvu:
Functional reactive programming for web applications
Autoři:
Smrž, Roman ; Pudlák, Petr (vedoucí práce) ; Hric, Jan (oponent) Typ dokumentu: Bakalářské práce
Rok:
2011
Jazyk:
eng
Abstrakt: [eng][cze] Functional reactive programming provides mechanisms of describing dynamic systems in a declarative and type-safe manner, which is traditional domain of functional languages in general and Haskell, which we use here, in particular. We explore ways, in which it may be applied to programming web applications, specifically, we design a domain specific language intended for writing web pages as a part of a Haskell program, which would generate the actual code served to the client, and enriching them with dynamic content; and also find out to what extent we may broaden the expressive power of such library given certain inherent constraints of the chosen method. In doing so, we utilize the tree-like structure of the HTML page, which is quite suitable to be written as a source code in a programming language and to which we embed additional entities providing the dynamics and interactivity.Funkcionálně reaktivní programování umožňuje popis dynamických systémů deklarativním stylem s využitím typové bezpečnosti, což je doména obecně funkcionálních jazyků, zejména pak Haksellu, který jsme zvolili pro implementaci knihovny. Zde zkoumáme cesty, jimiž lze těchto technik využít při programování webových aplikací; konkrétně je zde navržen \emph{domain specific language}, sloužící ke psaní webových stránek jako součást programu napsaného v Haskellu, který nakonec vygeneruje kód určený k odeslání uživateli, a k jejich obohacení o dynamický obsah. Také zjišťujeme, do jaké míry je možné rozšířit vyjadřovací sílu takové knihovny vzhledem k určitým omezením, která jsou daná zvoleným přístupem. Zároveň využijeme i stromovou strukturu HTML stránky, která se vcelku hodí k zápisu přímo v programovacím jazyce a do níž přidáváme další prvky dodávající systému dynamiku a interaktivitu.
Klíčová slova:
Funkcionálně reaktivní programování; Haskell; JavaScript; Web; Functional reactive programming; Haskell; JavaScript; Web