Journal: April - shaolintl/fstar-type-checker GitHub Wiki

Reflection

Bullet points for later use in expository format in final essay

  • How do academics, moreover researchers, measure their sense of productivity?
  • Appreciating an idea is far above merely having some cognitive understanding, and nothing replaces time and experience

Tasks for the Month

Insert in order of dependency

  • Write type checker in ELPI for limited type systems like the Lambda-pi system here
  • Study "Dependent Types" chapter from Advanced Topics in Types and Programming Languages (Pierce et al.) also Part 6 in introductory text
  • Fully type check the following F* program by extending this proof using the type checking rules of micro-F* and EMF*.
val simple: x:int{x>=0} -> Tot int                                                                                                            
let rec simple n =
  if n = 0 then 1 else n + (simple (n - 1))

  • Compare type systems in the aforementioned Pierce chapter with the rules seen in F*
  • probably beginning May & onward Compile subset of F* into LP

Technical Issues & Questions

  • ELPI: Run-time context expansion and evaluation
  • ELPI: type annotations with "of" predicate vs. type declaration

Skills Developed

  • OCaml and data structures
  • Implementing elementary type systems in ELPI