from IPT/IPT edition 2004. The lecture notes contain useful information but examples and notation are out-of-sync with the CCO slides and library. The lecture notes have not been updated, so keep this in mind when using it.
See the CourseSchedule
Additional reading material for the capita selecta
- Required reading:
- Optional (background) reading:
- Systems: Squeak, and others.
- Lambda calculus implementation, SKI combinators, Super combinators
See the MiniProjects
The distribution contains the following tools:
| an evaluator for simple arithmetic expressions |
| an evaluator for arithmetic and boolean expressions |
| a complete interpreter for simple arithmetic expressions |
| a complete interpreter for arithmetic and boolean expressions |
| a parser for simple arithmetic expressions |
| a parser for arithmetic and boolean expressions |
| a pretty printer for simple arithmetic expressions |
| a pretty printer for arithmetic and boolean expressions |
| a type checker for arithmetic and boolean expressions |
Attribute Grammar system (UUAG)
- Utrecht University Attribute Grammar Compiler, installable via
cabal uuagc, and the UUAGC page.
- UUAG tutorials and workshops have been given several times:
Haskell Utrecht Tools
To facilitate the execution of parsers built with the combinators from the HUT Library within the Feedback monad from the CCO library, a small satellite utility module CCO.Parsing.UU
has been made available.
An interpreter for simple arithmetic expressions
implemented using the scanner and the parser combinators from the HUT Library is provided as an illustration of the use of the library.
Alternative parser combinator libraries
Other parser combinator libraries may be used, but they lack wrappers from the CCO library (feel free to add such wrappers and send me the code).
- uu-parsinglib is the newer version of the parser combinators in uulib. It is not (yet) used by the CCO library. The API is almost the same and better documented.
- The parser combinator library from Talen & Compilers could be used as well.
Simple Stack Machine
which gives pdf documentation
when compiled as follows:
lhs2TeX --poly lhsexample.lhs > lhsexample.tex
lhs2TeX --code lhsexample.lhs > Main.hs