This is an old revision of the document!
[draft] PFL080 Haskell and Domain-Specific Languages
Lecturer | Mgr. Otakar Smrž |
---|---|
Extent | 2/1 C+Ex |
Validity | from WT 2007 |
Annotation
Haskell is a purely functional programming language. Its study invites to exploring the connections between various areas of computer science, logic, and linguistics. Haskell is also a modern means for describing the solutions of general problems in a precise, yet concise and comrehensible way.
The lecture will be devoted to the characteristic features of the language, and we will meet them applied in the context of domain-specific languages. In the seminar, students will present and discuss selected research papers.
References
- Hal Daumé III. 2002–2006. 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. A Gentle Introduction to Haskell.
- John Hughes. Why Functional Programming Matters.
- Richard A. Frost. 2006. Realization of Natural Language Interfaces Using Lazy Functional Programming. ACM Computing Surveys, Volume 38, Issue 4.
- 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.
Syllabus
- Elementary functions and data types
- Computational model and lambda calculus
- Recursion, abstraction, higher-order functions
- Polymorphic types versus type classes
- Monads and their use
- Parsing and pretty-printing
- Domain-specific languages
- Related theoretical issues
- Useful tools for the programmer
Links
Advanced programming by B. C. Pierce – free inspiration for this course