Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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.



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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: