« Back

Week 2: Short & Sweet

The pod with all our stuff came in from SF this weekend, so just a short & sweet roundup of the weeks, past & to come.

Last week
  • Finished up the final implementation of the Trees Please AST and interpreter.
    With encouragement from facilitator Mary, I refactored Trees Please from the grammar up to better deal with variables and scopes. I was originally passing the arguments to let blocks as strings and replacing the variable names with their values before evaluation — for reasons I now forget. So I went back in and had variables return a tree, to be evaluated in the interpreter like everything else. Then, I created scopes using an array to hold each. This allowed for nested scopes, but only along one track. The correct answer I realize is to use objects that can hold pointers to a scopes parent, but that remains vaporware. I also changed the trees to return a more lisp-style tree with the operator at the head and an array of all further expresssions. This, plus adding the lookup function for all scopes, including built-ins, really let me simplify my code. Pretty awesome.
  • Showed said interpreter at Thursday presentations
    Also awesome. I was a little nervous but people really liked it and it had the beneficial effect of drawing out all the PLT nerds from the crowd so now I know who they are.
  • Read a bit more Joy of Clojure
    This has been great and I really wanted to spend more time on tutorials / grokking Clojurescript, but I think it needs to be set aside for a little so I can focus on Data Monster.

Speaking of which:

  • Paired with Pam on adding tests to Data Monster.
    I’ve not done any TDD before — it’s seemed like overkill — but Data Monster will be complicated enough that strong tests will be useful. So Pam hooked me up with Karma & Jasmine for tests and a sweet Nyan Cat reporter. To do: PR dead cat to be upside down. It’s important to contribute to open source!

Finally, and most importantly, I

  • Published my first node package, Tessel-Calibrate.
    Super happy about that. Fewer callbacks, more promises (or at least events).
This week
  • Time to start on data-monster.
  • Other goals include: actually doing a code kata and going to job prep workshop.

That’s it. Over & out.