Live data from Hacker News

The rise and fall of Lisp at the Jet Propulsion Lab (2002)

flownet.com

121–130 of 153 posts

Re: The rise and fall of Lisp at the Jet Propulsion Lab (2002)

#121
post #112

Earlier quoted context omitted.

Lisps are more than just tracing GC and list processing. There are implementations with other forms of memory management, and they have long supported other kinds of datastructures.

What would be the defining characteristics of Lisps, that separate them from other languages? Surely it can't be simply s-exps, since that is pretty much all GOAL and Lisps share. Would a C written in the form of s-exps qualify as a Lisp?

My impression is that GOAL and Lisp shares quite a bit more.

https://opengoal.dev/docs/reference/lib

You might want to look at the features of real Lisp or Scheme implementations.

Re: The rise and fall of Lisp at the Jet Propulsion Lab (2002)

#122
post #112

Earlier quoted context omitted.

Lisps are more than just tracing GC and list processing. There are implementations with other forms of memory management, and they have long supported other kinds of datastructures.

What would be the defining characteristics of Lisps, that separate them from other languages? Surely it can't be simply s-exps, since that is pretty much all GOAL and Lisps share. Would a C written in the form of s-exps qualify as a Lisp?

Being an homoiconic programming language for one, having a powerfull macro system is other.

Having s-exprs isn't necessarly required.

In fact, there was an Algol like language for Lisp, which was never adopted, as most people were confortable with s-expr, among other issues.

https://en.wikipedia.org/wiki/LISP_2

Dylan and Julia can also be considered Lisps.

Scheme, Interlisp, Common Lisp and many other flavours have support for all major data structures, not only lists.

Some Lisps like Common Lisp and Interlisp-D, also allow for stack allocation.

Some Lisps like Linear Lisp use linear types for memory management.

Some Lisps like Interlisp-D used reference counting.

As for the question, Lisp Machines and Interlisp exposed Assembly and low level primitives as Lisp functions.

Re: The rise and fall of Lisp at the Jet Propulsion Lab (2002)

#123

Is every "advanced" language doomed to fail? (where "advanced" means: a paradigm that results in greater economy of code per unit of work done, easier debugging, easier testing, complete elimination of entire classes of bug (such as in an immutable language), easier maintenance etc...)

Structured languages didn't fail, and OO languages took over a few niches.

Yes, but OO languages create the same spaghetti-code morass that imperative languages did.

As opposed to, say, functional languages, for which it seems far harder for some reason to create spaghetticode

Re: The rise and fall of Lisp at the Jet Propulsion Lab (2002)

#124
post #121

Earlier quoted context omitted.

What would be the defining characteristics of Lisps, that separate them from other languages? Surely it can't be simply s-exps, since that is pretty much all GOAL and Lisps share. Would a C written in the form of s-exps qualify as a Lisp?

My impression is that GOAL and Lisp shares quite a bit more. https://opengoal.dev/docs/reference/lib You might want to look at the features of real Lisp or Scheme implementations.

Not really, it did have first class symbols used for code/data hotloading, but otherwise it's mostly a C-with-classes in s-exprs.

Re: The rise and fall of Lisp at the Jet Propulsion Lab (2002)

#125
post #122

Earlier quoted context omitted.

What would be the defining characteristics of Lisps, that separate them from other languages? Surely it can't be simply s-exps, since that is pretty much all GOAL and Lisps share. Would a C written in the form of s-exps qualify as a Lisp?

Being an homoiconic programming language for one, having a powerfull macro system is other. Having s-exprs isn't necessarly required. In fact, there was an Algol like language for Lisp, which was never adopted, as most people were confortable with s-expr, among other issues. https://en.wikipedia.org/wiki/LISP_2 Dylan and Julia can also be considered Lisps. Scheme, Interlisp, Common Lisp and many other flavours have s…

Io and Rebol both have homo-iconicity and a macro system. Would you call them a Lisp? No wonder Lisp is the most powerful language in the world, when all powerful languages are secretly Lisp – without even knowing it!!!

I mean, the name "Lisp" is short for "List Processing", it's disingenuous to claim that Lisp doesn't need runtime List Processing.

https://iolanguage.org/

http://www.rebol.com/

Re: The rise and fall of Lisp at the Jet Propulsion Lab (2002)

#126

Earlier quoted context omitted.

I'm going to straw man a bit, but it feels like lisp enthusiasts are desperate to find stories of commercial software being written in lisp. I'm sure there's many examples I haven't heard of that are legitimate (using lisp for almost all of a specific domain at scale and having a mature codebase, tho that's arguable) but I've yet to see any example that has meat on it's bones, besides the company that did crash bandi…

> besides the company that did crash bandicoot on the PS1. And even that one I'm unsure of as I feel it's been mythologized with how often it's pointed to. Well, good instincts, because it wasn't. Naughty Dog used Lisp to write a compiler for an s-expression based C-like language called GOAL (it was kind of a macro-assembler with a register allocator). The reason for using s-expressions was to get a syntactic macro s…

Before GOAL, they had GOOL, though (https://all-things-andy-gavin.com/2011/03/12/making-crash-ba...).

Re: The rise and fall of Lisp at the Jet Propulsion Lab (2002)

#127
post #126

Earlier quoted context omitted.

> besides the company that did crash bandicoot on the PS1. And even that one I'm unsure of as I feel it's been mythologized with how often it's pointed to. Well, good instincts, because it wasn't. Naughty Dog used Lisp to write a compiler for an s-expression based C-like language called GOAL (it was kind of a macro-assembler with a register allocator). The reason for using s-expressions was to get a syntactic macro s…

Before GOAL, they had GOOL, though ( https://all-things-andy-gavin.com/2011/03/12/making-crash-ba... ).

I know less about GOOL, but the following seems to imply that GOOL was probably also a s-expr based non-Lisp language:

> As a language GOOL borrows its syntax and basic forms from Common Lisp. It has all of Lisp’s basic expression, arithmetic, bookkeeping, and flow of control operators.

Note that Andy explicitly only mentions things like syntax and arithmetic, but not any kind of list processing. Again, I am not sure, but I wouldn't be surprised if GOOL isn't a Lisp either, but only a Lisp-flavoured DSL for event-based AI code.

Re: The rise and fall of Lisp at the Jet Propulsion Lab (2002)

#128
post #122

Earlier quoted context omitted.

Being an homoiconic programming language for one, having a powerfull macro system is other. Having s-exprs isn't necessarly required. In fact, there was an Algol like language for Lisp, which was never adopted, as most people were confortable with s-expr, among other issues. https://en.wikipedia.org/wiki/LISP_2 Dylan and Julia can also be considered Lisps. Scheme, Interlisp, Common Lisp and many other flavours have s…

Io and Rebol both have homo-iconicity and a macro system. Would you call them a Lisp? No wonder Lisp is the most powerful language in the world, when all powerful languages are secretly Lisp – without even knowing it!!! I mean, the name "Lisp" is short for "List Processing", it's disingenuous to claim that Lisp doesn't need runtime List Processing. https://iolanguage.org/ http://www.rebol.com/

Putting aside the sarcasm, don't mistake Lisp from 1960 with what came after.

"First released in 1997, Rebol was designed over a 20-year period by Carl Sassenrath, the architect and primary developer of AmigaOS, based on his study of denotational semantics and using concepts from the programming languages Lisp, Forth, Logo, and Self. "

"Io is a pure object-oriented programming language inspired by Smalltalk, Self, Lua, Lisp, Act1, and NewtonScript.[2] Io has a prototype-based object model similar to the ones in Self and NewtonScript, eliminating the distinction between instance and class. Like Smalltalk, everything is an object and it uses dynamic typing. Like Lisp, programs are just data trees. Io uses actors for concurrency. "

Exercise for the reader how much from e.g. Common Lisp might be found in IO or Rebol.

Re: The rise and fall of Lisp at the Jet Propulsion Lab (2002)

#129
post #121

Earlier quoted context omitted.

My impression is that GOAL and Lisp shares quite a bit more. https://opengoal.dev/docs/reference/lib You might want to look at the features of real Lisp or Scheme implementations.

Not really, it did have first class symbols used for code/data hotloading, but otherwise it's mostly a C-with-classes in s-exprs.

did you look at the lib? Looks like what many Lisps have. The class stuff is also very Lisp like.

Re: The rise and fall of Lisp at the Jet Propulsion Lab (2002)

#130
post #55

Earlier quoted context omitted.

>...all that know-how was stolen by China, who isn't interested in quarterly profits, but in global hegemony... This seems a little simplistic? "China" isn't a monolith, and I'm pretty sure Chinese companies are just as interested in quarterly profits as Western ones. It's not like they're all state enterprises. And they didn't "steal" know-how - they earned it, by doing stuff (aside from the odd case of corporate es…

> Nor is the United States any less interested in global hegemony than China. In as far as United States is a democracy, it is not interested in global "hegemony". It is interested in Democracy spreading all over the world. Democracy is not hegemony but freedom for one person to have one vote and nobody being above the law. Of course that could change. A Nazi party could gain the power in US. Then you could say that…

Wrong

The simple fact is that, anyone who wants to live a self determined life, and have a self-determining country MUST be better armed, prepared, and allied than the local abusers and bullies or the global autocrats.

If you are not better armed, prepared, and/or allied, then the local bully will steal your lunch money every day, and the global autocrats will keep taking whatever they want, whenever they think they can get away with it. See China and Tibet, Hong Kong, "9-dashed line", Taiwan, etc. See Russia and Chechnya, georgia, Syria, Ukraine, Baltics, etc. Neither has EVER lived up to an agreement. They cannot be honestly bargained with.

They will not stop, unless they are stopped by an external power. That power must come from the democracies of the world. Without the US, EU, Australia, etc., being able to project power, we WILL soon find them on our doorsteps. Yes, the US has ended up being the 'worlds policeman' since WWII. This is literally what enables free trade (hint: the piracy problem off Africa kinda died once the US Navy started getting quietly involved, and that's just one example).

Please learn about how the world actually works before spouting false equivalence.

Post reply on HN