On the competing philosophies of Lisp and ML

Type-checking is really where the trench is dug between Lisp and ML. The prescence of type-checking in ML (and its absence even in recent implementations of Lisp) is reflective of two competing philosophies about programming. I shall state them in condensed form.

ML: Programming is a logical discipline akin to mathematics. Programs should be right and being right is more important than anything else.

Lisp: Programming is an art. Programmers are artists in the pursuit of ideas. Programs are often wrong, but that does not matter. Being free to do what you want is more important than anything else.

– from “A Rationalisation of Lisp” by Mark Tarver

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s