I am up way past my bedtime because I went to go see talks by Jenny Bryan and Hadley Wickham at the local R-Ladies Meet-up. They were both entirely lovely talks, even if I do favor a different set of idiosyncratic tools than the ones that they prefer.

There was a component of Hadley Wickham’s talk that I found sort of distracting. It seemed to be there to bolster the argument that the thing is not its name, the map is not the territory, philosophy, yadda yadda, and all that. He was defining a sort of nested evaluation in terms of a tree, and it matched imperfectly with things that I had learned about long ago, and it was super-distracting for me to try to match my long-ago memories with what was happening at the talk.

The reason that this was an issue at all is that R is full of quirks, and some of them involve the way that objects are referenced (dereferenced?) by their names. Some functions expect unquoted strings as their argument. So you would use f(string) to apply f to "string". And if you said name <- "string", it’s sort of a pain to apply f with respect to name. This might be an issue if you have a vector of strings and you want to apply f to all of your strings and you need to find some sort of work-around.

As part of his talk, he associated each function call with the root of a tree, and each leaf was either the name of the function or one of its arguments. So f(x, y) would have some nameless root, and there would be three leaves: f, x, and y. But then he noted that x might itself be the name for something. Maybe x = a + b so you could hang the leaves + and a and b off of x (he was using prefix notation) and continue building your tree by substituting back in for what all of the various things in your expression represented.

But with all of these functions written in prefix notation and thrown into a data structure (no word on how one was expected to transverse this tree – I think this tree was built for humans and not for computers, as it seemed like one just read off the leaves from left to right without regard for their ancestry), I started having flashbacks to my liberal arts education. Of course, my past self was introduced to such functions with postfix notation, and things were thrown on a stack instead of into a tree. But during the talk, I couldn’t quite reconcile these things, and I kept having the sense that something is not quite right.

Maybe other people got something about all the talk of trees in the middle of the talk, but I was pretty distracted by how this reminded me just enough of the sorts of computer science that we learned back in the early 90s but wasn’t quite the same.