CSC302 2011S, Class 07: Io (3) Overview: * Advanced Io concepts * Lab. Admin: * One of you asked that I try to do the homework assignment. I was on a retreat this past weekend, but I did do the first two problems. They took me about thirty minutes. I also appreciate the early question on the assignment (as should the rest of you). * Books are in the bookstore! Please behave responsibly towards this publisher. * On readings: Please try to ask questions that one of your colleagues might be able to answer. Good examples: * I don't understand *this code* * What's another example of *this conept* * On readings: Please tag your questions. * For Tuesday evening, please read Tate 4.1 and 4.2. Tag with #prolog1 Two big "Cool Language Issues" in Tate 3.4 * Io has "pretty decent concurrency options" * Actors * In their own thread * As futures * Coroutines * Difference: * Coroutines have explicit sharing of control * Threads sharing is implicit * You can change the language significantly * Make it a whole new language "Ooh, let's make addition higher precedence than multiplication" Change how missing messages are handled by overriding the "forward" handler. Add your own operators (including funky things like curly braces) * Break it Lab * Finish it on your own.