[ prog / sol / mona ]

prog


Marvin Minsky - The Beauty of the Lisp Language [Part 2]

10 2020-10-15 01:23

>>7

The goalposts are not being moved. LISP is case-sensitive. But you can't use it like it is. Your choices are:

1) Pretend LISP is case-insensitive by secretly upcasing every character. This is the default behavior.

2) Pretend LISP is case-sensitive by secretly inverting the case of each character. This doesn't work in all scenarios and it breaks existing code for non-obvious reasons.

3) Stop pretending and preserve case of all characters which forces the user to type every LISP command in all caps and also breaks all existing code.

The option to simply use LISP in the way that everyone assumes it already works is not available. And if you try you will get seemingly nonsensical errors when you least expect them.

So one of the absolute simplest acts in computer programming, to type a character and have it interpreted in a consistent and predictable manner, an act so simple that programmers generally take it for granted, an act that other languages build entire hierarchical systems upon with ease, is 100% impossible in the freedom loving open future world of LISP.

What a strange limitation.

>>8

The obvious solution would be making Common Lisp case sensitive and turning keywords lowercase, to emulate the current status-quo.

You are exactly correct. LISPers actively choose to not do this. You can read mailing list posts in which adult humans in the 21st century argue about lowecase ASCII. The current state of affairs came from deliberate acts and is now maintained by deliberate acts.

To be clear, Common Lisp is not the only language to work like this. It is a foundational concept in all dialects including Scheme. If you find an implementation that seems to work the way it should, it generally is just using :invert as default reader mode instead of :upcase.

24


VIP:

do not edit these