note: crossposted from r/prolog
Time spent considering naming, is time well spent.
— Maurice Rabb
HandAxe
HandAxe is a vocabulary with extremely clear semantics for operating on Ordered and Unordered Lists, Sets, Dictionaries:
- All Collections have:
- Keys → Values
- Indices → Elements
- Edge-spans to specify Subcollections
HandAxe methods are:
- Composable
- Unambiguous
- Immutable
- Relational
- Dynamically Generated in TypeScript
I want to get this comment out quickly, so I will have to share my notes later.
Implementing HandAxe in Prolog?
Across most Prolog implementations I’ve seen, our vocabulary for list/set/pair relations are highly idiosyncratic and implementation dependent! I feel that it should be entirely possible for us to develop a pure, relational, and optimized implementation of HandAxe’s semantics.
As a Prologger of ~6 months, I want to tackle something non-trivial with this language. HandAxe and Prolog seem like a natural fit, with clear semantics for each individual keyword and Prolog’s strong focus on operating on Lists!
What do you think about this talk? Would you benefit from a DSL for unambiguous operations on lists? Happy to hear more discussion!