February 13, 2015.

This is where the notes are.

To compile firrtl: stanzam -i chmain.stanza -o chmain

Homework: rewrite to-working-ir, write printer

a typeof T
a and b
a or b
a as T

questions:
1. explain curly braces in 
     print{o, _} $
     match(k) :
        (k:RegKind) : "reg:"
   My guess is you are passing in a different function depending on the type of k, so you need to lazily evaluate the print, which signifies the {}'s.
2. explain where in
     Circuit(modules*, main(c)) where :
        val modules* =
           for m in modules(c) map :
              Module(name(m), ports(m), to-command(body(m)))
   My guess is you are again evaluating modules* before Circuit, so you are passing in modules lazily?
3. difference between defn and defmethod?
