Examines modern and non-imperative languages, the theoretical techniques used to design and understand them, and the implementation techniques used to make them run. Topics include functional languages, object-oriented languages, language safety and classification of errors, type systems, formal semantics, abstraction mechanisms, memory management, and unusual control-flow mechanisms. Example languages include Standard ML, Modula-3, CLU, Scheme, Prolog, and Icon.
Sort by "All" in the top right to see previous semesters.