4 ms·
> "what incredible software has this produced", and I can't think of any standouts. See for example https://interlisp.org https://interlisp.org , an early Lisp
by lispm 3y ago
> "what incredible software has this produced", and I can't think of any standouts.
See for example https://interlisp.org https://interlisp.org , an early Lisp system with IDE developed at BBN and later at Xerox PARC. They got the 1992 ACM Software System Award for pioneering work in programming environments.
Grady Booch once said at an Eclipse conference: 'For those of you looking at the future of development environments, I encourage you to go back and review some of the Xerox documentation for InterLisp-D.'"
I think the historic Interlisp-D system counts for "incredible software".
There is a bunch of incredible software written in Lisp, from language-oriented workstations, parametric CAD systems, databases, etc. Many languages have "incredible" software written with it, you'll find those for Lisp, too, over the decades it exists. But you might need to very specialized domains, like computer algebra systems, autonomous robots for inspecting pipelines, chip design verification or quantum computers.
- camgunz 3y agoI might have a big galaxy brain thought here that I'm just scratching the surface of in this thread. I think languages/platforms are less about the technology or features and more about shared values and community. Languages/platforms each have an ethos. They prove it with features (Rust's borrow checker, Perl's regular expressions, PHP's templating) and build a community around that ethos and the shared values. Are there, from time to time, language features that really set a language apart? Yeah I think so, Ada has a bunch of baller features, Erlang's OTP is pretty unique, etc. I think these are the kinds of things you could point to and say, "I wrote a network server that processes random user-generated text as fast as possible and has zero memory bugs because I used Ada's safety and performance features" or "I wrote a sprawling telephony system with insanely high uptime because of OTP". They're like the materials science advances right, we found a new way to make a metal that will never bend and is virtually weightless, enabling us to build a space elevator. Is Lisp like this? Probably! Its ideas of dynamic typing, garbage collection, no direct memory access, interpretation, etc. have been nearly entirely co-opted by static languages like Java and dynamic languages like Lua. I guess my argument is that now, I don't really see a differentiator outside of macros. Maybe it's unfair, but I think my threshold here is "we used macros to build AI/something nuts". I don't think that's happened. Then again I'm not embedded in the Lisp community -- I definitely got everyone to list their favorite Lisp projects here haha. Maybe some of these examples qualify? I'm not gonna run them all down. I just think there's something rich here about community, ethos, and technologies that find their ways through different languages for technical and cultural reasons.
- lispm 3y ago> in the Lisp community There is no such thing as "a" Lisp community, since Lisp is a term for a wide variety of different languages, each having their own community. Common Lisp is a group of implementations (which are sub-communities), Scheme is a group of implementations / sub-standards (which are sub-communities), there are derived languages (-> Clojure)... > I think languages/platforms are less about the technology or features and more about shared values and community. Yes. > I guess my argument is that now, I don't really see a differentiator outside of macros. The larger topic is "symbolic computation" and Lisp itself is one application of it. Lisp cannot only be used to implement itself, but a range of languages. "Interpreter" in Lisp actually means "interpreting Lisp", where interpreter for Java means "interpreter for JVM byte code", which is something very different. An interpreter written in Lisp for Lisp interprets source code, which is actually data. Scheme, Clojure, ML and a bunch of more esoteric ones were first implemented in Lisp. Often languages and language extensions are integrated into Lisp. Racket (a variant of Scheme) makes language implementation one of its core features. > Maybe it's unfair, but I think my threshold here is "we used macros to build AI/something nuts". I don't think that's happened. There are many many usages of language extensions via macros, which are "nuts". For example the possibly first parametric CAD system called iCAD was based on Lisp + a dynamic object system, whose user-facing forms are macros. The language Lisp was thus extended to describe complex parametric CAD models. I once heard that Boeing had whole models of complex jets (think 747) described and loaded into Lisp memory. Turbines were described in Lisp and design changes could be generated via code&data changes. The cabin configuration of jets were described and computed with design rules in Lisp.