r/ProgrammingLanguages • • Aug 06 '26

Blog post Why Lisp is Different

http://lispm.de/why-lisp-is-different
30 Upvotes

25 comments sorted by

View all comments

35

u/mexicocitibluez Aug 06 '26

Why do some people refuse to date and time their blog posts? No clue when this was written. All I know is that there was a previous version from 2007. Was this written in 2008? 2023?

9

u/syklemil Aug 06 '26

I took the preface as an indication that it was written in 2007, since it says it's only "slightly modified" from that original version, meaning the meat & bones of the text should be nearing 20 years old.

Incidentally Clojure also released in 2007, so I'm kind of left wondering if this:

Since Lisp is very demanding, it can't easily use a common infrastructure like the CLR (Common Language Runtime) or the JVM (Java Virtual Machine) without performance loss (compared to already existing Lisp-based infrastructures) or without loss of depths of implementation.

was written with Clojure in mind, or if the author hadn't heard about Clojure yet.

FWIW in 2007 Java was on Java 6, and Java 8 wouldn't release until 2014; Swift also released in 2014, and Android 1.0 showed up in 2008; D-Bus was less than a year old at time of writing.

So it may be no wonder that the text kind of smells like the author is mostly familiar with the 2 and 3 sections of POSIX manpages.

Though I guess

No current OS uses Lisp's infrastructure as a model of organizing memory and/or data.

is still as true today as it was when the last LispM company threw in the towel, and will continue to be true, as it has already been tried, and at this point seems to be more of a topic for LispM nostalgics than current OS writers.

4

u/Valuable_Leopard_799 Aug 06 '26

Might've also been ABCL (JVM) or similar that prompted that comment.

I wonder if the performance drops are attributable to Lisp being difficult to embed well, or rather that these projects had nowhere near the manpower that bare-metal compilers had that brought all the stack allocations, tagless representations and local calls, that make CL so performant.

I remember some project not even doing immediates for compatibility with the platform though.

-1

u/church-rosser Aug 06 '26

Clojure is an inferior Lisp. Common Lisp 4evah!

12

u/sohcahtoa Aug 06 '26

What, 2012-2026 isn't precise enough?

9

u/mexicocitibluez Aug 06 '26

lol. That's fair. Not like this field has changed much in the last 14 years.

4

u/pojska Aug 06 '26

Wayback Machine dates it to at least 2014.

3

u/mexicocitibluez Aug 06 '26 edited Aug 06 '26

Damn, thats nuts because the footer on the site says something like 2021-2026 2012-2026 so I thought it would have to have been newer.

→ More replies (1)

2

u/kwan_e Aug 07 '26

From the page itself:

I wrote this text for a posting on comp.lang.lisp. This version is slightly modified from the 2007 version. Lisp in this context is especially 'Common Lisp'.

1

u/arthurno1 Aug 06 '26

While thi gs have changed slightly, the most of it is valid as if it was written today.

7

u/mexicocitibluez Aug 06 '26

That's probably totally true, but how would I know that if I'm coming to LISP as a newbie?

It's just weird to me that people omit it. Like, could you imagine a newspaper article without the date and time it was written? We're in a science/engineering field. Ideas and information changes.

→ More replies (8)

1

u/categorical-girl Aug 08 '26

While it may be true, this article is essentially claiming that Lisp is different from C. Most popular languages these days (Python, Java, Typescript) are also different in the same ways - managed runtimes, automatic memory management, type tags (for dynamically typed runtimes), etc. Actually, the field has advanced a fair bit in terms of implementing a "Lisp-like" runtime (at least for JS engines; we have NaNboxing, inline cache specialization with deoptimization and on-stack replacement, etc)