WRIGHT STATE UNIVERSITY
Department of Computer Science and Engineering
  CS 7100 Fall 2025                                                                                                               Prasad

Assignment 4 (For pacing yourself: November 25, 11:59pm) 

1. Interpreter Modification (myOverload.rkt) 

Object-Oriented languages frequently allow overloading of  methods. This feature allows a class to have multiple methods of the same name, provided they have distinct signatures. A method's signature is typically the method name plus the types of its parameters. Since we do not have types in our current language, we might overload based simply on the method name and number of parameters. For example, a class might have two initialize methods, one with no parameters for use when initialization with a default field value is desired, and another with one parameter for use when a particular field value is desired. Extend the Interpreter for OOPL  by modifying the interpreter code in myOOPLInterp.scm to allow overloading based on the number of method parameters. .

What to develop?

Create a well-tested solution in a file named  myOverload.rkt. 

In order to better grasp the changes you made, comment out the code you are modifying rather than deleting it. Include test calls and outcomes in your solution so as to make it clear that you are exercising the necessary constructs, and these calls are run when you make changes to the code (regresion testing).  

What to turn in? (OPTIONAL)
You may turn-in your single runnable Racket file myOverload.rkt with test calls and expected outcomes (showing it works) on Pilot under Dropbox > Assignment 4.