YSC4230 Lecture 8

Q: What’s hot in PL?

Q: How to tell if variable is live? v is live is v is defined before the program point, and used after it.

Q: What about types?

Q: The idea is about INFORMATION: Liveliness defines as supersets, subtyping is opposite.

  • Top is the one with MOST information.
  • Bottom with least.
    • e.g. Any is most pessimistic.

Q: Why got fixpoint? Fixpoint function is when Fk(X) = Fk+1(X) such that X is fixpoint of F.

Q: Why Haskell and OCaml more complicated?

A: Cannot tell statically the CFG - cause of lambda calculus encoding

Q: Doesn’t haskell make if else a primitive?

Q: In some papers - convention is flipped lol, bottom is one with most info…

Note for hw6 we are using functors.

  • Define the logic of analysis in the most abstract terms.
    1. look at solver.
  • neat -> combine
  • partial order -> combine

Q: TA / research pos

  • Any open source compiler work?

    • e.g. with ocaml?
  • Verifying Silica in K-framework

  • Resource analysis with smart contracts

~2s - ours -0.892s - clang

  • minikanren to synthesize minikanren

  • TODO: choose paper

CS5218 CS6215 Ask if I can map over CS4212