4 First Class Functions
4.1 Resources
You will watch the following lecture videos from UofU’s course.
The videos will walk you through everything you need to know and do for this assignment.
You will not be submitting assignments through the UofU Dr. Racket extension, rather, you will submit using the submit link above.
4.2 Time Estimate
~24 minutes of Lambda videos
25-45 minutes of Implementation
However, don’t rush through the assignment and take time to really solidly understand the concepts, because the implementation assignments will get progressively more difficult.
If you are struggling to complete this assignment in this amount of time, please seek TA or instructor help.
4.3 Description
Just as we discussed in class, first class functions will be fundamental to our core language. In this assignment you will be adding first class functions and lambdas to your language with environments and let bindings.
4.4 Deliverables
Turn in your implementation of the Moe language with first class functions (use the submit link above)
Make sure your program type checks, and passes all the tests before submitting. We will be checking that you have full test coverage, and that your interpreter works properly.
As a reminder you can make sure you have full test coverage using the Dr. Racket extension.
To enable test suite coverage navigate to Language|Choose Language in the Dr. Racket menu. Then select Show Details in the lower left, and Syntactic test suite coverage in the top right.
Additionally to do well in this class you will need to:
Come to class prepared to take a short quiz about the video lectures
Be prepared to make additions to the calculator language for homework and class exercises