Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

In Conclusion: The Utility of Simplicity

Proplists represent a design philosophy that values pragmatism over perfection. They’re not the most efficient data structure. They’re not the most elegant. They don’t have first-class syntax or compiler support. But they work, they’re understood by everyone who’s written Erlang for more than a week, and they solve the “how do I pass optional arguments” problem with admirable directness.

Are they the answer to life, the universe, and everything? No, that’s still 42 (or #M(answer 42) if you’re keeping up with modern times). But they are the answer to “how should I pass these dozen optional parameters to my function without creating a seven-element tuple that nobody can remember the order of?”

And sometimes, that’s answer enough.

Use proplists when simplicity trumps sophistication, when compatibility matters more than performance, when you’re writing options that will be read once at startup rather than accessed in tight loops. Use them with understanding of their limitations, but without apology for their continued relevance.

They may be old, but they’re not obsolete. They’re just lists, after all. Very specialized, conventionally structured, surprisingly useful lists. But lists nonetheless.

The proplist is dead. Long live the proplist.