Someone's Intermediate Representation


Please refer this link from page 41 to 48.

Dynamics Keywords

Dynamics of a language describes how programs are executed.

  • Structural Dynamics: Defines transition system inductively specifies step-by-step process of executing a program.
  • Contextual Dynamics: A variation of structural dynamics.
  • Equational Dynamics: A collection of rules defining when one program is definitionally equivalent to another.
Read more »

Please refer this link from page 35 to 40.

PL Phase Distinction

There are 2 phases defined in PLs:

  • Static
    • Parsing and Type Checking to ensure the program is well-formed.
  • Dynamic
    • Well-Behaved Execution of well-formed programs.

A language is said to be safe when well-formed and well-behaved execution are both achieved.

What about Static Phase

Static phase is specified by a statics comprising a set of rules for deriving type judgments stating that an expression is well-formed of a certain type.

Type safety tells us that the predictions about “some aspects of run-time safety by seeing that the types fit well in the program” is correct.

This note will use PFPL expression language E as example.

Read more »

Please refer this link from page 23 to 32.


  • Hypothetical Judgments: an entailment between one or more hypotheses and a conclusion.
  • Entailment has 2 notions:
    • derivability
    • admissibility
  • General Judgment: the universality or genericity of a judgment.
  • General Judgment has 2 forms:
    • generic
    • parametric
Read more »

Please refer this link from page 13 to 21.

Framework of Inductive Definitions

This chapter is the development of basic framework of inductive definitions.

An inductive definition consists of a set of rules for deriving judgments.

Judgments are statements about one or more abt’s of some sort.

The rules specify necessary and sufficient conditions for the validity of a judgment, hence fully determine its meaning.

Read more »

Here is the problem link.

This problem is all about BFS, but it really points out some of my weak points.

I almost cried in the library since this problem had bothered me for such a long time, I tried so hard, and I succeeded after all! Cheers!

Read more »

Personally, I think dynamic programming is very important for a coder. This is not a specific skill but a kind of idea or method of thinking. This helps you get a global optimal result step by step from the easiest condition to the current condition, which is the task we need to solve.

Read more »

Since I don’t have much experience in coding and I just do it for fun, I hope my code can bring you some happiness and understnading here…

This is just USACO 1.1, easy. But the problem afterwards are hard…

Read more »