Pages tagged with language-design

The Subtle Joys of Generic Methods

The object system in Common Lisp has something that almost no one else does: generic methods. Also called multi-methods, these allow a flexible and safe approach to dynamically adding functionality to a class at runtime. It's monkey patching without the monkey. When I write my programming language in a few decades, these are going to be there.

Opinionated Programming Languages, The Huddled Masses, and Elitism

The Language For Smart People and Language For Masses dichotomy is one that leaves a queasy feeling in my stomach. Just because a distinction has become accepted by the community doesn't mean it is a valid one.

Spoken Languages, Blub, and Convenience

A brief essay considering the link between spoken languages and programming languages and Paul Graham's theory of Blub.

Failure of Implicit Conventions: Determining Function Destructiveness

The distinction between destructive and non-destructive methods is important, but most languages rely on unwritten convention to differentiate one from the other. We need to do better than this.

All Rights Reserved, Will Larson 2007 - 2015.