CSE230 - Principles of Programming Languages



Functional versus imperative programming. Type systems and polymorphism; the ML language. Higher order functions, lazy evaluation. Abstract versus concrete syntax, structural and well-founded induction. The lambda calculus, reduction strategies, combinators. Denotational semantics, elementary domain theory.


CSE 130 or equivalent, or consent of instructor.

Formerly CSE 273