Assignment 6 – Racket version of Project & Agda Definitions

Assignment 6 – Racket version of Project & Agda Definitions

Due Friday 5/24 11:59pm

Work out the data structure and function definitions for your project using Racket. Add contracts and properties (that you test using random testing) and make sure that they find no bugs.

Work out the main Agda definitions and state the main theorems (the proofs are not required when you present your project; they are due for the next assignment).

Prepare a presentation on your problem including the Racket code and Agda definitions.

Your goal with the presentations are to get helpful feedback from your peers (and possibly your instructor) about the work while you are at a midway point (that is, having definitions you think are right but not having completed the proofs).

The grade for the presentation will be based on how clear you make your current state, successes and failures. The clearer the presentation and the more your class understands and has a nice discussion with you, the higher your grade. The correctness of your code will not influence your grade.

Here is the schedule for the presentations:

5/28

   

first

   

Jeremy

5/28

   

second

   

Hakan

5/30

   

first

   

Lingyun

5/30

   

second

   

Matthew W

6/4

   

first

   

Lukas

6/4

   

second

   

John

6/6

   

first

   

Brian

6/6

   

second

   

Alex and Matt P