Com S 541 -- Programming Languages I Handed out:Feb. 24, 1993 HOMEWORK 9: Type Systems and exceptions (CP, Chapters 7 and 8) Due: March 1, 1993 (extra credit due March 3) 1. Problem 7.4 (ML functions and types). Try these using the ML interpreter if you have time. 2. Either problem 7.7 or 7.8. You can check your answers on the computer, but try to work them out by hand first. 3. Problem 8.7. These are to be done in groups of at most 2 people, or by individuals. EXTRA CREDIT Do one or more of exercises 7.3 (language design), 7.5 (programming). Read some of the literature on type systems described in section 7.5 or in the Introduction to the Literature handout. Read about exception handling in CLU (see: Liskov and Snyder, "Exception Handling in CLU", "IEEE Transactions on Software Engineering", (Nov, 1979) Volume SE-5, Number 6, Pages 546-558). Describe in detail how it differs from exception handling in ML and Ada, and why the Ada and ML designers might have chosen a different strategy. Which do you prefer and why? Read about continuations in part 5 of "Scheme and the Art of Programming" by Springer and Friedman (this is on reserve for Com S 227X at the library). Work some of the problems there. You can run Scheme on project Vincent by typing add scheme scheme or on the department HP machines by putting /usr/unsup/bin in your path and using the command "scheme". THESIS RESEARCH (Due July 1997 :-) Design and implement a type system for Scheme.