# EECS 762

## Programming Language Foundation I

Index

Blog

# Final

Our final exam will be December 14th at 7:30am in our regular classroom. I did not choose the time. Topics as discussed in class will include:

## Basic Language Definitions

- defining syntax
- defining values
- defining single step evaluation relation
- defining multi-step evaluation relation
- defining typing relation
- structural induction on language syntax
- structural induction on derivation trees
- evaluation and type derivations

## Language Properties

- over evaluation relation
- determinism
- uniqueness
- stuckness and termination

- over typing relation and evaluation relation
- type inversion lemma
- canonical forms lemma
- progress
- preservation

## Extending languages

- adding by extension
- new syntax and values
- new types
- extending the single-step evaluation relation
- extending the typing relation

- adding by derived forms
- new syntax, values and types
- new typing rules
- definitions of new terms using old terms
- external and internal language concepts

## Languages

- boolean/natural language
- untyped lambda calculus
- typed boolean/natural language
- simply typed lambda calculus
- extensions to simply typed lambda calculus