[TAPL] Lecture 2. Arithmetic Expression Language

Ch.2 Mathematical Preliminaries

  • Induction

 

Ch.3 Untyped Arithmetic Expressions

3.1

  • The untyped arithmetic expressions (syntax)

 

3.4 Semantic style

  • Operational semantics : small-step semantics, big-step semantics (natural semantics)
  • Denotational semantics (domain theory)
  • Aximatic semantics

 

3.5 Evaluation (semantics, operational)

  • Figure 3-1 (boolean expressions)
  • Figure 3-2 (arithmetic expressions)

 

Ch.4 An ML Implementation of Arithmetic Expressions

  • Term declaration in ML
  • Evaluator in ML

 

Ch.8 Typed Arithmetic Expressions

  • Types
  • Typing rules
  • Type soundness theorem
    • Progress theorem
    • Preservation theorem (Subject reduction)

Note.

  • We do implement the untyped Arithmetic expression language (semantics) in Haskell.
  • We observe some intuitively malformed expressions will get stuck under the implemented semantics.
  • We implement the type system of the language to see that those malformed expressions can be excluded from the consideration of execution under the semantics.

Leave a Reply

Your email address will not be published. Required fields are marked *