Diff Generator banner


Languages: Scheme
Period: February 2019
This project involved writing a function that compares two Scheme expressions, and produces a difference summary of where the two expressions are the same and where they differ. The difference summary generated is also a Scheme expression which, if executed in an environment where the Scheme variable % is true, has the same behavior as x, and otherwise has the same behavior as y. Additionally, the summary uses the symbol lambda in places where one input expression uses a lambda expression and the other uses the lambda symbol expression. Moreover, where the first Scheme expression uses the bound variable X in the same place where y declares the bound variable Y, the summary expression should declare a bound variable X!Y.

GitHub Source Code