Hacker News new | ask | show | jobs
by derekzhouzhen 1718 days ago
When reading "Lisp-2", Most lisp programmers will probably think of the lisp dialects with 2 namespaces, one for value binding, one for function binding. See https://andersmurphy.com/2019/03/08/lisp-1-vs-lisp-2.html

Lisp-2 are still alive; emacs lisp is a lisp-2. If you extrapolate hard enough, both Erlang and Elixir are lisp-2.

1 comments

Common Lisp is another example of a Lisp with 2 namespaces.
Common Lisp has more than two namespaces.
The point is that it has more than one.
The point is he wrote "two", not "more than one".
". . . with a namespace for functions that is different from the one for ordinary values", then!

I got into this trouble by wanting to avoid contributing to the perpetuation of the terms "Lisp-1" and "Lisp-2". I find those 2 terms regrettable because using a short name for a concept implies that the concept is important, but whether functions share the same namespace as values do is not IMO an important decision in the design of a programming language: changing the decision changes the character of the language in only a few superficial ways.

Yeah. Lisp 1s are more common though. Racket, Scheme, Clojure, ... Hell, Javascript is also a lisp 1.
Chill, man. I know I was stretching. It is undeniable that javascript took inspiration from lisp/scheme.