Final Exam CSE 340 Wednesday, May 5, 1:30-3:30 MEYH B4 Open-book, open-notes, no computers Notes about the final: - The exam will be 2 hours long. - It will be comprehensive, but the majority of the material will be from after March 15. - The exam is open book/open note. You may bring anything written on paper to the exam (notes, textbook, homework assignments.) - if you spend too much time looking at your notes, you may not finish the exam. Topics since March 15: Roughly EOPL 4.1-4.4,7.1,7.4,7.5 plus the type soundness proof and ML-style polymorphism. - Designing type rules and implementing a type checker. - Proving type soundness - Type abstraction, use and implementation - Type inference - ML-polymorphism, use and implementation - Tail recursion - Continuation-Passing Style interpreter - Exceptions - Multi-threading The exam may ask you to... ...figure out the types (if any) of expressions. ...complete the implementation of a type checker, given a description of a new expression form. ...draw the derivation of the typing of an expression giving typing rules. ...extend the type soundness proof to new expression forms. ...complete the implementation of a type inferencer, given a description of a new expression form. ...determine whether expressions are tail recursive. ...convert a program to be in continuation-passing style. ...complete the implementation of a language extension (such as abort, exceptions or multi-threading) when the interpreter is written in CPS. ...do something not mentioned above.