Both sides previous revision
Previous revision
Next revision
|
Previous revision
Next revision
Both sides next revision
|
courses:pfl080 [2007/03/30 16:14] ufal |
courses:pfl080 [2007/04/11 21:45] ufal |
^ Rozsah | 2/1 Z+Zk | | ^ Rozsah | 2/1 Z+Zk | |
^ Platnost | od ZS 2007 | | ^ Platnost | od ZS 2007 | |
| |
| |
| |
===== Anotace ===== | ===== Anotace ===== |
| |
[[http://www.haskell.org/|Haskell]] je čistě funkcionální programovací jazyk. Jeho studium vybízí k hledání souvislostí mezi různými oblastmi informatiky, logiky i lingvistiky. Zároveň je to ale moderní prostředek pro přesný, přitom stručný a srozumitelný popis řešení obecných problémů. | [[http://www.haskell.org/|Haskell]] je čistě funkcionální programovací jazyk. Jeho studium vybízí k hledání souvislostí mezi různými oblastmi informatiky, logiky i lingvistiky. Haskell je ale též moderní prostředek pro přesný, přitom stručný a srozumitelný popis řešení obecných problémů. |
| |
V přednášce se budeme věnovat výrazným rysům jazyka a zaměříme se na jeho aplikace v podobě tzv. doménově specifických jazyků. Ve cvičeních budou studenti diskutovat své referáty z odborné literatury. | V přednášce se budeme věnovat výrazným rysům jazyka a zaměříme se na jeho aplikace v podobě tzv. doménově specifických jazyků. Ve cvičeních budou studenti diskutovat své referáty z odborné literatury. |
| |
===== Literatura ===== | Předmět je určen pro studenty magisterského nebo doktorandského studia zmiňovaných oborů. Absolvování [[http://is.mff.cuni.cz/sis/predmety/index.php?do=predmet&kod=PRG005|PRG005]] není ani podmínkou, ani překážkou účasti. S některými probíranými tématy se lze setkat i v [[http://is.mff.cuni.cz/sis/predmety/index.php?do=predmet&kod=PRG040|PRG040]], příp. [[http://is.mff.cuni.cz/sis/predmety/index.php?do=predmet&kod=PRG040|AIL006]] a [[http://is.mff.cuni.cz/sis/predmety/index.php?do=predmet&kod=AIL078|AIL078]]. V našem případě bude míra teoretického pohledu věcí dohody a složení referátů bude záviset na zájmu studentů. |
| |
- Hal Daumé III. 2002--2006. [[http://www.cs.utah.edu/~hal/docs/daume02yaht.pdf|Yet Another Haskell Tutorial]] | |
| |
- Paul Hudak. 2000. //The Haskell School of Expression: Learning Functional Programming through Multimedia//. Cambridge University Press. | ===== Literatura ===== |
| |
- Paul Hudak. 2000. [[http://www.haskell.org/tutorial/|A Gentle Introduction to Haskell]] | * Hal Daumé III. 2002--2006. //[[http://www.cs.utah.edu/~hal/docs/daume02yaht.pdf|Yet Another Haskell Tutorial]]//. |
| * Paul Hudak. 2000. //The Haskell School of Expression: Learning Functional Programming through Multimedia//. Cambridge University Press. |
| * Paul Hudak, John Peterson, Joseph Fasel. 2000. //[[http://www.haskell.org/tutorial/|A Gentle Introduction to Haskell]]//. |
| * John Hughes. //[[http://www.cs.chalmers.se/~rjmh/Papers/whyfp.html|Why Functional Programming Matters]]//. |
| |
- John Hughes. [[http://www.cs.chalmers.se/~rjmh/Papers/whyfp.html|//Why Functional Programming Matters// | * Richard A. Frost. 2006. //[[http://portal.acm.org/citation.cfm?id=1177353|Realization of Natural Language Interfaces Using Lazy Functional Programming]]//. ACM Computing Surveys, Volume 38, Issue 4. |
| * Peter Ljunglof. 2002. //[[http://www.ling.gu.se/~peb/pubs/p02-lic-thesis.pdf|Pure Functional Parsing. An Advanced Tutorial]]//. Licenciate thesis, Goteborg University & Chalmers University of Technology. |
| * Philip Wadler. 2003. //[[http://homepages.inf.ed.ac.uk/wadler/papers/prettier/prettier.pdf|A Prettier Printer]]//. In Jeremy Gibbons and Oege de Moor, editors, //The Fun of Programming//, Cornerstones of Computing, pages 223--243. Palgrave Macmillan, March 2003. |
| |
- Peter Ljunglof. 2002. //Pure Functional Parsing. An Advanced Tutorial//. Licenciate thesis, Goteborg University & Chalmers University of Technology. | |
| |
- Philip Wadler. 2003. //A Prettier Printer//. In Jeremy Gibbons and Oege de Moor, editors, //The Fun of Programming//, Cornerstones of Computing, pages 223--243. Palgrave Macmillan, March 2003. | ===== Sylabus ===== |
| |
| - Základní funkce a datové typy |
| - Výpočetní model a lambda kalkulus |
| - Rekurze, abstrakce, funkce vyššího řádu |
| - Polymorfní typy versus třídy typů |
| - Monády a jejich využití |
| - Parsing a pretty-printing |
| - Doménově specifické jazyky |
| - Související teoretické otázky |
| - Užitečné nástroje pro programátory |
| |
===== Sylabus ===== | |
| |
===== Odkazy ===== | ===== Odkazy ===== |
| |
[[http://www.cis.upenn.edu/~bcpierce/courses/advprog/index.html|Advanced programming by B. C. Pierce]] -- volná inspirace pro tento předmět | [[http://www.cis.upenn.edu/~bcpierce/courses/advprog/|Advanced Programming by Benjamin C. Pierce]] -- volná inspirace pro tento předmět |
| |
| [[http://www.st.cs.uni-sb.de/edu/seminare/2005/advanced-fp/|Advanced Functional Programming at Saarbrücken]] |
| |
| [[http://ufal.mff.cuni.cz/~smrz/FunnyThing/impressive-haskell.pdf|"Impressive Haskell" by Otakar Smrž]] |
| |
[[http://www.mff.cuni.cz/vnitro/is/sis/predmety/kod.php?kod=PFL080|Studijní informační systém]] | [[http://www.mff.cuni.cz/vnitro/is/sis/predmety/kod.php?kod=PFL080|Studijní informační systém]] |
| |