Live data from Hacker News

Dinosaur and Lisp

vito.sdf.org

51–60 of 97 posts

Re: Dinosaur and Lisp

#51
post #45

Earlier quoted context omitted.

Well, the laziness yes, thanks for the correction, but much of it was from Clojure's own page about how it is different from other Lisps. And I am aware of Hickey's history. I was trying to provide a summary of the difference in outlook between Clojure and Kawa/ABCL: Clojure is decisively more "java-ey" than either of the others, and very much feels like a lisp for those already familiar with that language, with some…

I think we have to get rid of the idea that any language with parentheses is a Lisp. For all practical purposes languages like Scheme, Lisp, Clojure are fully incompatible on all levels: syntax, semantics and pragmatics. All they share are some distant ideas (some form of s-expression syntax, some form of macros, ...) provided in incompatible ways. They share no code, no libraries, no books, no community, ... that's…

...And I think we need to get rid of the idea that those differences necessarily precludes them from being Lisps. Because make no mistake, they are all Lisps.

You said that they didn't share code, libraries, books, or community. First off, they do share community to some degree: there's a good bit of overlap between all of them. It's not all overlap, but there's plenty there.

Second off, you know what other languages don't share code, library, or books with the Common Lisp we know today? MACLisp. Interlisp. Portable Standard Lisp. Lisp 1.5. Emacs Lisp. AutoLisp. ISLISP. Eulisp. Arc. To say nothing of Hy, LFE, MDL, Newlisp, NIL, Picolisp, and yes, Clojure and Scheme. And there are countless others.

Lisp has always been a language of many different dialects. Why should we pretend it's any different now?

Re: Dinosaur and Lisp

#52

Earlier quoted context omitted.

...That's what I said.

I guess the self deprecation wasn't appreciated! (I'm a devout emacs user, you know..) Would you accept that temacs[0] is written in C and emacs is written in emacs lisp? I'd argue that sbcl is written in C and the sbcl common lisp implementation is written in common lisp. Is that not the common way of viewing it? 0: https://www.gnu.org/software/emacs/manual/html_node/elisp/Bu...

temacs is just an intermediate build step, while building GNU Emacs. There is no working GNU Emacs without the C and the Elisp code.

Re: Dinosaur and Lisp

#53
post #45

Earlier quoted context omitted.

I think we have to get rid of the idea that any language with parentheses is a Lisp. For all practical purposes languages like Scheme, Lisp, Clojure are fully incompatible on all levels: syntax, semantics and pragmatics. All they share are some distant ideas (some form of s-expression syntax, some form of macros, ...) provided in incompatible ways. They share no code, no libraries, no books, no community, ... that's…

...And I think we need to get rid of the idea that those differences necessarily precludes them from being Lisps. Because make no mistake, they are all Lisps. You said that they didn't share code, libraries, books, or community. First off, they do share community to some degree: there's a good bit of overlap between all of them. It's not all overlap, but there's plenty there. Second off, you know what other languages…

Second tthis. The term Lisp in CS is like Romance in linguistics, it indicates a family of languages that belong to different similar but not identical cultures which contribute to them and yet still the languages come from a common ancestor and are more similar than not while at times not easily mutually comprehensible.

Re: Dinosaur and Lisp

#54
post #29
post #8

Apart from Clojure (which is not LISP, really), I haven't seen end-user applications written in LISP dialects (I don't think emacs is end-user software). Scheme (and its PLT dialect Racket) was in academia for so long that it literally got "friend-zoned" and has little (read "no") use in the industry. Then again, I expected to see more Common LISP around. Paul Graham really put it right, but I guess any leverage/adva…

I've made this comment before, and I don't intend it to be flippant, but am honestly curious. If Common Lisp is a failure, how is it that there are multiple commercial offerings for it?[0][1] I would take the continued presence of these commercial offerings as a sign of health in the Common Lisp ecosystem. [0] http://franz.com/products/allegro-common-lisp/ [1] http://www.lispworks.com/

https://www.microfocus.com/products/cobol-development

http://www.cobol-it.com/index.php?page=rwd_products

Re: Dinosaur and Lisp

#55
post #45

Earlier quoted context omitted.

I think we have to get rid of the idea that any language with parentheses is a Lisp. For all practical purposes languages like Scheme, Lisp, Clojure are fully incompatible on all levels: syntax, semantics and pragmatics. All they share are some distant ideas (some form of s-expression syntax, some form of macros, ...) provided in incompatible ways. They share no code, no libraries, no books, no community, ... that's…

...And I think we need to get rid of the idea that those differences necessarily precludes them from being Lisps. Because make no mistake, they are all Lisps. You said that they didn't share code, libraries, books, or community. First off, they do share community to some degree: there's a good bit of overlap between all of them. It's not all overlap, but there's plenty there. Second off, you know what other languages…

Maclisp came from Lisp 1.5. Code was simply ported to Maclisp. Some Lisp 1.5 code runs mostly unchanged in CL.

Maclisp shared code with Common Lisp. For a lot of stuff there was a single code base at MIT for several Lisp dialects, including Maclisp. After some time Maclisp development ended and sharing ended. For example the source code for the complex LOOP macro was at one time a single file for Maclisp, NIL, Lisp Machine Lisp and Common Lisp.

People ported programs from Maclisp to CL by changing them or by translating them with tools, not by rewriting them.

There were also code bases which worked both in early Scheme and CL.

Emacs Lisp has a huge CL subset and even includes a version of CLOS. Since both Emacs Lisp and Common Lisp are coming from Maclisp, both languages are very similar anyway. Basic operators are the same, differing in various details - like dialects often do.

Common Lisp had Interlisp compatibility packages, while Interlisp was still used. There were translators, too.

Xerox had Interlisp and Common Lisp integrated in one Lisp.

Kent Pitman wrote an ISLISP compatibility package for Common Lisp.

There are compatibility packages for Portable Standard Lisp, which allow the unchanged use of PSL code in Common Lisp.

etc etc

There is zero code sharing between Lisp, Clojure and Racket. Compatibility with the Lisp 1, Lisp 1.5, Maclisp, Common Lisp, Emacs Lisp, CL, ISLISP, main line of Lisp wasn't a goal for Clojure and Racket. That's fine. They got rid of historical baggage and could design new languages.

Basic rule: if a language has LISP in its name, there is some chance that it actually is a LISP.

People usually name their language LISP something, to give the impression that the language is compatible with Lisp. They use different names, when the language is different: Scheme, Javascript, Logo, Dylan, Clojure, ...

Take a Lisp 1.5 manual, look at the function index and check which functions and special forms are provided. If most of those are absent (or doing something different), it's not a Lisp: append, atom, car, cdr, cond, cons, eq, eval, intern, list, load, map, member, pair, print, read, prog, quote, reverse, return, set, setq, trace, ...

Re: Dinosaur and Lisp

#56
post #53

Earlier quoted context omitted.

...And I think we need to get rid of the idea that those differences necessarily precludes them from being Lisps. Because make no mistake, they are all Lisps. You said that they didn't share code, libraries, books, or community. First off, they do share community to some degree: there's a good bit of overlap between all of them. It's not all overlap, but there's plenty there. Second off, you know what other languages…

Second tthis. The term Lisp in CS is like Romance in linguistics, it indicates a family of languages that belong to different similar but not identical cultures which contribute to them and yet still the languages come from a common ancestor and are more similar than not while at times not easily mutually comprehensible.

People who can speak German dialects can understand each other. Books written in some form of German can be understood by most readers.

Same for English dialects.

For Germanic languages this is not the case. English and German are both Germanic, but knowing German does not let me read English literature.

Lisp is like English: a basic vocabulary, a basic syntax, basic semantics understood by all readers. I can look at some basic Lisp code and I will understand the program. A Lisp developer looking at Clojure code will understand very very little.

Re: Dinosaur and Lisp

#57
post #56
post #53

Earlier quoted context omitted.

Second tthis. The term Lisp in CS is like Romance in linguistics, it indicates a family of languages that belong to different similar but not identical cultures which contribute to them and yet still the languages come from a common ancestor and are more similar than not while at times not easily mutually comprehensible.

People who can speak German dialects can understand each other. Books written in some form of German can be understood by most readers. Same for English dialects. For Germanic languages this is not the case. English and German are both Germanic, but knowing German does not let me read English literature. Lisp is like English: a basic vocabulary, a basic syntax, basic semantics understood by all readers. I can look at…

Really? It's pretty easy to get, with a few pointers here and there.

Re: Dinosaur and Lisp

#58
post #56

Earlier quoted context omitted.

People who can speak German dialects can understand each other. Books written in some form of German can be understood by most readers. Same for English dialects. For Germanic languages this is not the case. English and German are both Germanic, but knowing German does not let me read English literature. Lisp is like English: a basic vocabulary, a basic syntax, basic semantics understood by all readers. I can look at…

Really? It's pretty easy to get, with a few pointers here and there.

Good luck reading Thomas Mann or Hermann Hesse in German...

Any modern fiction. No chance.

Re: Dinosaur and Lisp

#59
post #55

Earlier quoted context omitted.

...And I think we need to get rid of the idea that those differences necessarily precludes them from being Lisps. Because make no mistake, they are all Lisps. You said that they didn't share code, libraries, books, or community. First off, they do share community to some degree: there's a good bit of overlap between all of them. It's not all overlap, but there's plenty there. Second off, you know what other languages…

Maclisp came from Lisp 1.5. Code was simply ported to Maclisp. Some Lisp 1.5 code runs mostly unchanged in CL. Maclisp shared code with Common Lisp. For a lot of stuff there was a single code base at MIT for several Lisp dialects, including Maclisp. After some time Maclisp development ended and sharing ended. For example the source code for the complex LOOP macro was at one time a single file for Maclisp, NIL, Lisp M…

Most of those things appear in scheme. Slightly different naming, but the same, more or less.

To say that there's compatability between Scheme and CL, and no compatability with Racket is ridiculus: Racket has Scheme compatability modes.

As for the language being called Lisp if it's Lisp, two of the examples you list in the "non lisp" category do so: Clojure's website claims it is a "dialect of lisp," and AIM-349 describes scheme as "essentially a full-funarg LISP."

As make no mistake, all of these languages, from Common Lisp to Clojure to Scheme, are dialects. They have the same origins, and they share many of the same ideas.

Re: Dinosaur and Lisp

#60
post #58

Earlier quoted context omitted.

Really? It's pretty easy to get, with a few pointers here and there.

Good luck reading Thomas Mann or Hermann Hesse in German... Any modern fiction. No chance.

rolls eyes

Not German, Clojure. Clojure is pretty easy.

Post reply on HN