or learn more

Phil Bagwell, Rest in Peace

Oct 15, 2012

Via the Typesafe blog I learned that Phil Bagwell recently passed away. I met Phil at the 2011 Clojure Conj and had the absolute pleasure to wine and dine with him during the course of the weekend. Four things stand out to me from that time:

  1. He had an amazing sense of humor. I was a bit intimidated in meeting him, but was soon put at ease by his friendly demeanor and willingness to crack a hilarious joke in a flawless deadpanned manner.1

  2. His grasp of algorithmic complexity and data structures was staggering. In fact, his work defining HAMTs 2 has been a constant source of inspiration, not only for myself, but for data structure research in general and specifically in implementation within Clojure, Scala, and Haskell. These languages and their users owe Phil a great debt of gratitude for his pioneering work. It’s on us to learn3 from his valuable lessons and make something of them.

  3. Although he probably knew more about functional data structures than anyone else in the room, he took pains to describe his work as “dabbling” and “a hobby”. His modesty was disarming and inspiring.

  4. He talked very silently. However, because the people around him feared missing his wisdom, you would often see a crowd of people leaning in toward him as to not miss a syllable.

I will cherish those hours spent talking with him. I am saddened that the chance to converse with him again is gone, but mostly I’m saddened for his family, co-workers and computer science at large. We’ve lost an amazing individual.

Thank you Phil.


  1. When I introduced myself to him he immediately shot back, “You’re the one who created Baysick.” I was honored that he knew of my piss-take and likewise appreciated it as such. 

  2. More information on HAMTs and their genesis in 

  3. His recent work on lock-free versions is detailed in 

2 Comments, Comment or Ping

  1. Nik

    Thanks for writing a nice tribute. I was at his talk at the 2011 Conj as well, and while quite a lot went over my head, his talk inspired me to want to learn more about (functional) data structures.

    A sad day indeed.

  2. I’d rewriteread-namesas fwlloos (apologies for broken indentation, WordPress seems to inevitably lose the formatting):(defn read-line-with-prompt [prompt] (print prompt) (flush) (read-line))(defn read-names [] (take-while seq (repeatedly (partial read-line-with-prompt “Enter the name of the attendee (press ENTER to finish): “))))Rule of thumb: there’s very rarely a need to useloop/recurdirectly (and such need mostly stems from performance requirements).

Reply to “Phil Bagwell, Rest in Peace”