Family Table

We have a six-foot circular wooden table that my grandfather had custom-built when my mom was in elementary school. It’s a very soft pine, which isn’t great for a table that gets used all the time: my grandmother always always had a table pad and table cloth on it at holidays. We put an epoxy finish on it which is hard enough to help a bit, but it has also just accumulated… well, let’s call it “character” over the years.

And with a circular table that big, there’s a whole bunch of dead space in the middle, so instead of passing stuff around, it has a 30-inch lazy susan that goes with it. You can see that the lazy susan is a light yellow-ish clear finish on the pine. The table was originally that color too, but when we inherited it we refinished the table with a darker walnut sort of stain.

A large wooden turntable, holding an arrangement of zinnias and coneflowers, a bowl of tomatoes and one with tomatoes, also a metal water pitcher and a dish of butter.

I spent some more time on the shunting-yard parser. I implemented the ordering rules for all pairs of prefix, infix, and suffix operators. Then I set up automated testing: with JavaScript and Node.js I usually use tape (and then maybe faucet for pretty output).

So I got the printing working and tested all the nine possible pairs of operator types, plus the variations with left-to-right versus right-to-left infix operators.

That’s pretty satisfying: only 63 lines of code and it handles all the operator precedence stuff. So now for the other tricky part: figuring out how to handle grouping and sequence operators, and fit that into the code without messing everything up. I have some vague thoughts about that, but I have to dig into it more carefully and see how they’re going to work out.