[ Skip to the content ]

Institute of Formal and Applied Linguistics Wiki


[ Back to the navigation ]

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
courses:pfl080 [2007/03/30 16:52]
ufal
courses:pfl080 [2008/01/03 13:40] (current)
smrz
Line 1: Line 1:
 ~~NOTOC~~ ~~NOTOC~~
  
-====== [návrh] PFL080 Haskell nejen pro informatiky ======+ 
 +====== PFL080 Haskell nejen pro informatiky ======
  
 [[pfl080-en|English version]] [[pfl080-en|English version]]
  
-^ Vyučující | Mgr. Otakar Smrž | +^ Vyučující  | Otakar Smrž, Ph.D.  
-^ Rozsah    | 2/1 Z+Zk         +^ Rozsah     | 2/1 Z+Zk            
-^ Platnost  | od ZS 2007       |+^ Platnost   | od ZS 2007          | 
 +^ Souřadnice | Čt 10:40--13:05 SU1 |
  
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +===== Osnova =====
 +
 +11.10.2007    [[http://ufal.mff.cuni.cz/~smrz/HaskellDSL/haskell-dsl-01.pdf|Introduction -- Types and Polymorphism -- Laziness]]
 +
 +18.10.2007    [[http://ufal.mff.cuni.cz/~smrz/HaskellDSL/haskell-dsl-02.pdf|"Why FP Matters" -- Higher-Order Functions -- Tree Structures]]
 +
 +25.10.2007    [[http://ufal.mff.cuni.cz/~smrz/HaskellDSL/haskell-dsl-03.pdf|"Haskell and XML" -- Type Classes -- Pretty-Printing]]
 +
 +01.11.2007    [[http://ufal.mff.cuni.cz/~smrz/HaskellDSL/haskell-dsl-04.pdf|"A Prettier Printer" -- Monads -- Parsing]]
 +
 +08.11.2007    [[http://ufal.mff.cuni.cz/~smrz/HaskellDSL/haskell-dsl-05.pdf|"Monadic Parsing in Haskell" -- Monad Laws -- Input/Output]]
 +
 +15.11.2007    [[http://ufal.mff.cuni.cz/~smrz/HaskellDSL/haskell-dsl-06.pdf|"Cabal" -- "Haddock" -- Functional Dependencies]]
 +
 +22.11.2007    [[http://ufal.mff.cuni.cz/~smrz/HaskellDSL/haskell-dsl-07.pdf|"Fun with FD" -- Curry-Howard Correspondence -- Existential Types]]
 +
 +29.11.2007    LECTURE CANCELLED
 +
 +06.12.2007    "Proofs are Programs" -- Combinatory Categorial Grammar
 +
 +13.12.2007    "Using Types to Parse Natural Language" -- Finite Maps -- Arrays
 +
 +20.12.2007    "Functional Morphology" -- Functional Queues -- Red-Black Trees
 +
 +03.01.2008    Haskell versus OCaml -- Projects -- Darcs
 +
 +10.10.2008    QuickCheck -- MapReduce et al. -- Concluding Notes
  
 ===== 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.
 +
 +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=NPRG005|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=NPRG040|PRG040]], příp. [[http://is.mff.cuni.cz/sis/predmety/index.php?do=predmet&kod=NAIL006|AIL006]] a [[http://is.mff.cuni.cz/sis/predmety/index.php?do=predmet&kod=NAIL078|AIL078]]. V našem případě bude míra teoretického detailu věcí dohody a složení referátů bude záviset na zájmu studentů.
 +
  
  
 ===== Literatura ===== ===== Literatura =====
  
-  * Hal Daumé III. 2002--2006. //[[http://www.cs.utah.edu/~hal/docs/daume02yaht.pdf|Yet Another Haskell Tutorial]]//+  * 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. 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]]// +  * 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. 1984. //[[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+  * 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.   * 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. //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.+  * 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.
  
  
 ===== Sylabus ===== ===== 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
  
  
Line 36: Line 96:
 ===== 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://is.cuni.cz/studium/predmety/index.php?do=predmet&kod=NPFL080|Studijní informační systém]]
  

[ Back to the navigation ] [ Back to the content ]