The pod with all our stuff came in from SF this weekend, so just a short & sweet roundup of the weeks, past & to come.
- 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).
- 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.