CS 386L Programming Assignment (HW 6)

Implement type inference for a language with Implement Let polymorphism, using the algorithm defined on pages 333-334. Implement a few basic operations on data types, including multiplication, addition, equality Use the State monad to collect your constraints Implement the unification algorithm Define Show instances for your data types to output the results using a pleasant notation Here are grammar files and abstract syntax to get you started: