Course Resources

Cco

Lecture Notes

Lecture notes 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.

Slides

See the CourseSchedule.

Additional reading material for the capita selecta

Lab exercises

See the MiniProjects.

CCO Library

Latest version

Older versions

Reference Implementations

The distribution contains the following tools:

eval-arith an evaluator for simple arithmetic expressions
eval-arithbool an evaluator for arithmetic and boolean expressions
interp-arith a complete interpreter for simple arithmetic expressions
interp-arithbool a complete interpreter for arithmetic and boolean expressions
parse-arith a parser for simple arithmetic expressions
parse-arithbool a parser for arithmetic and boolean expressions
pp-arith a pretty printer for simple arithmetic expressions
pp-arithbool a pretty printer for arithmetic and boolean expressions
tc-arithbool a type checker for arithmetic and boolean expressions

#UUAGReading

Attribute Grammar system (UUAG)

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

Download | Documentation

Samples

lhs2TeX

Sample lhsexample.lhs which gives pdf documentation and Main.hs when compiled as follows:

	lhs2TeX --poly lhsexample.lhs > lhsexample.tex
	pdflatex lhsexample.tex
	lhs2TeX --code lhsexample.lhs > Main.hs

Example exams