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.

Spoken Languages, Blub, and Convenience

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

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.

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 - 2014.