V CS 254 endgame topics (Spr 09)
V Coming to the end of the semester …
* we have 4 more lectures (after this, leaving one for exam review)
* room for several quick overviews or one longer investigation
V Haskell language issues
V Interactive programming
* reading input from users, printing responses, etc.
* comes up in the gaming examples
V Reading and writing files
* (useful in any case for the HTML examples below)
V Monads
* probably considered the most interesting aspect of Haskell
* allows for a very generic account of sequencing and similar phenomena
* based on a sophisticated algebraic approach
V Simple example applications
V Simple functional graphics
* actual student use (in lecture and lab) of Fritz's BMP-generating code
* works best if we can install a more serious compiler (GHC)
V Simple gaming
* we can handle board games like Tic-Tac-Toe or similar
V Rubik's waffle example
* Richard Bird's derivation of a sudoku solver
V Simple web-page generation
* generate web pages from within Haskell
V possibly also nice vector graphics (based on SVG)
V Parsing
V see textbook Chapter 8
* (comes with PowerPoint presentation and code file)
V sample in-class parsing problems
* phone number
* email address
* floating-point numbers
* simple English grammar
V Theory issues
V Type-checking
* how does a Haskell system check the types of programs?
* what does it mean for the types to be correct?
* Monads (see above)
V Bigger applications (papers)
V Haskore music system (and related)
V Peyton Jones, Eber and Seward's Algebra of Financial Contracts