W 03 Handout
W 03 Handout
You will be able to complete this assignment after lecture 2. We recommend that you complete lab 2 before starting
the assignment.
In this assignment, we will write a function that checks whether a Racket definition of a function is tail recursive. This
is an example of a static analysis, where we try to reason about a piece of code without interpreting/evaluating it.
We will use a subset of Racket defined by the following grammar:
<def> ::= (define (IDENTIFIER IDENTIFIER ...) <expr>)