Strange Loop

Sept 30 - Oct 2, 2021


Union Station


St. Louis, MO

Register for 2021!

HandAxe: Getting a Grip on Collections

New programming languages often borrow from prior languages. Yet, non-ideal choices from the past frequently live on. Often, the worst enemy to a better solution is an existing solution that’s just good enough. Alan Kay once told me, “The method namespace is a language’s most precious resource.” Haphazardly designed method protocols -- method names, params, and return values -- make a language harder to understand and limit its expressive power. As a JavaScript developer, I’ve felt this acutely.

HandAxe is a pattern language for specifying aspects and method protocols of collections. It represents a fresh take on collections, emphasizing consistency, composability, im|mutability, and mis|understandability. It begins by rigorously defining terms for referencing specific aspects of collections: indexes, keys, values, elements, associations, slots, spans, edges -- aka “grips”. The matrix of grip combinations enables myriad ways to interrogate and modify any collection.

HandAxe uses a small vocabulary of additional operators, quantifiers, and modifiers to fully specify a collection grammar. It enables one to select the perfect name and protocol for any newly needed methods. Further, its generality and consistency enable method implementations to be auto-generated on demand. While implemented in JavaScript, it provides a basis for composing collection protocols in future languages. This talk will show how to leverage HandAxe and the challenges of developing a pattern language.

Maurice Rabb

Maurice Rabb

I’m an engineering director at Sprout Social, with a passion for mentoring junior engineers; before joining Sprout, I taught software engineering for 10 years, most recently as an instructor at Dev Bootcamp. When not waxing wistfully about the Smalltalk debugger, I enjoy playing board games with my daughter, exploring unusual maps, eating exotic fruits, and acting as the building-super at our extended family compound on the South Side of Chicago.