-
Notifications
You must be signed in to change notification settings - Fork 0
PL topics for qualification exams.
Jeffrey M. Young edited this page Jan 10, 2020
·
5 revisions
Feel free to add topics (would also help to mention the class name associated).
-
Dynamic vs static typing [CS 581].
-
Lambda calculus (untyped, simply typed) [CS 581].
-
Small vs big step semantics [CS 585].
- Pros and cons of each
- Which is easier to prove properties of?
- Which is easier to recover errors in?
- Which gives more flexibility to the implementor?
-
Denotational vs operational semantics [CS 585].
-
Why the let construct should be a construct and not syntactic sugar [CS 582]
-
Explain the curry-howard isomorphism
- What kind of logic is it based on?
- How does it's logic differ from classical logic?
- What does this mean for the data types in dependent type theory?
-
General Programming language stuff
- What is a type? [CS 581]
- What is type safety? [TAPL book, CS 582]
- How does one prove type safety? (There are two commonly accepted steps) [TAPL book]
- What does it mean for a language to be safe? [TAPL book]
- Describe variable capture using simply typed lambda calculus [CS 581]
- What is call-by-name, call-by-value, call-by-need, and how do they compare? [CS 581]
- Describe the church-rosser theorem? Why is it important [CS 581]
- Define concrete syntax
- Define abstract syntax
- What is a programming language, precisely?
-
General CS stuff related to PL
- What is computation?
- What is the Chomsky hierarchy?