Bit of a Language

It seems ages now, actually, it is, since I started on my programming language.

The current status is that:
  • The lexical analyzer is finished.

  • The parser is finished.

  • Simple combinator library for pretty-printing.

  • Variables are identified/bound to their declarations.

  • Top-level types are kind-checked.

  • Rudimentary support for the gathering of type constraints.

  • Rudimentary typechecking.

  • Rudimentary interpreter.

  • I started on a C runtime system.

For the type checker I am aiming at some hybrid between "Recursive Subtyping Revealed", "Typing Haskell in Haskell", and "Generalizing Hindley-Milner Type Inference Algorithms".

I am lazy too. This looks a lot like what I am doing, so maybe I can borrow this stuff: "Ruler: Programming Type Rules" or "Typing Haskell with an Attribute Grammar (Part I)."

God, the last two papers don't handle type classes. So now I am reading "Modelling Scoped Instances with Constraint Handling Rules."