CS457/557 Project Ideas

This list is just intended to get you thinking. You are encouraged to develop your own project ideas. The project specification should serve to make sure that you and the instructor agree about the scope and focus of the project. The one essential requirement is that the implementation involve building and manipulating a non-trivial data structure in ML.

  1. Write a program that uses sml/tk to build a GUI for a simple application. Games like tic-tac-toe or checkers make good applications; the program has to keep track of play, but needn't know how to play itself.
  2. Write a program that can play solitaire. Use it to determine empirically the odds of winning.
  3. Write an interpreter for the abstract syntax of a simple programming language. Use the ideas from Reade Ch. 6, and perhaps the ideas on denotational semantics from Reade Ch. 10.
  4. Write a parser and corresponding typechecker for a simple programming language. Use the top-down parsing framework described in Reade Ch. 6, or use ml-yacc.
  5. Implement a variety of standard sorting algorithms in a functional framework, and make an empirical comparison of their relative efficiencies.

Important notes:

Andrew P. Tolmach
Tue May 6 10:59:09 PDT 1997