@@ -20,14 +20,22 @@ reference interpreter, it is eliminated. Your goal is to construct
2020a set of test programs that eliminate the largest number of compilers.
2121The player that eliminates the largest number of compilers, wins.
2222
23+ Note that the notion of correctness we're using is the same one we've
24+ been using all semester: if the interpreter crashes when evaluating a
25+ program, that program has unspecified behavior and therefore the
26+ compiler cannot be incorrect for that program. On the other hand if
27+ the interpreter produces an answer (either a value or the error
28+ result), then the compiler is obligated to produce the same answer.
29+
2330When you submit, choose a name to display on the leaderboard. It does
2431not need to be your real name, but please keep it appropriate for this
2532setting.
2633
2734After submitting, click "Leaderboard " to see the latest standings.
2835
29- There are 133 compilers included. Your score will be the number of
30- compilers you are able to eliminate, with a maximum score of 100.
36+ There are 59 compilers included. Your score will be 15 + 2.5 times
37+ the number of compilers you are able to eliminate, with a maximum
38+ score of 100.
3139
3240We reserve the right to update the reference interpreter and will
3341announce any changes on Discord.
@@ -36,12 +44,11 @@ The following updates have been made since the release:
3644
3745@itemlist[
3846
39- @item{The interpreter now checks for integer overflow and crashes when
47+ @item{The interpreter checks for integer overflow and crashes when
4048this happens, thereby making overflow behavior unspecified for the compilers.}
4149
42- @item{The interpreter now crashes when interpreting unbound variables
43- instead of producing @racket['err ], making unbound variable behavior
44- unspecified.}
50+ @item{The interpreter crashes when interpreting unbound variables,
51+ making unbound variable behavior unspecified.}
4552
4653]
4754
0 commit comments