Live data from Hacker News

How Lisp is Going to Save the World

landoflisp.com

131–140 of 239 posts

Re: How Lisp is Going to Save the World

#131

Earlier quoted context omitted.

How to model a state is a meaningless question without asking state of what. Same is true for I/O. You must start from a protocol. Most of people probably underestimate how many brilliant people contribute to what we could call a modern Lisp. With all respect, Clojure is nowhere near in terms of sanity, consistency and uniformity. I don't event want to argue about Haskell. Seems like words "monad" is the same as word…

Ir you are talking about syntax uniformity, lisp is not very regular also http://xahlee.info/UnixResource_dir/writ/lisp_problems.html Although I agree that clojure has is warts. For example clojurescript uses the numerical stack of JavaScript. So you get different and unexpected results than when running on the JVM

One of Clojure's goals is to interop well with its host platform, which it does in both cases. I'm not sure I'd count that trade off as a wart.

Re: How Lisp is Going to Save the World

#132

Earlier quoted context omitted.

> * No free implementations existed during a key period (80s, 90s) so no initial traction, no useful libraries and killer apps which would pull the whole ecosystem. Implementations didnt even exist for commodity hardware. Emacs LISP (OK, a limited dialect) was available and so was CMUCL (full implementation), which I believe was used for teaching in 1992 when I first got in contact with LISP at our uni ... Also, back…

> faster compiled languages Lisp is a compiled language. For that matter, it's a damn fast one, too. The Lisp implementation of PCREs are actually faster than Perl's, by some benchmarks. I don't want to start a tangent about benchmarks and their relevance, but it's clear that Lisp performance isn't a limiting factor.

Whenever Lisp's history is mentioned we get another free replay of this classic "who's on first" bit:

A: Lisp didn't succeed in part because it was slow

B: What? Lisp isn't slow!

Do you see the problem? No, it isn't slow now, but it was slow and a resource hog and that is a legitimate variable that may have negatively affected uptake during key points in its history. Times have changed, implementations have improved, resources have become less scarce, but the past is still the past.

Re: How Lisp is Going to Save the World

#133

With the deepest reverence to John McCarthy, I regret to say that Lisp is our cosmological constant. It creates a static universe that is otherwise expanding; it reduces the problem to a solvable one and then declares victory. The truth is, it's all state. All of it. Remember that movie "Boy in the Plastic Bubble," about a boy with an immune system deficiency who lives instead a hermetically-sealed, sterile bubble? T…

I'm sorry but what you're saying is immediately obvious. No one in the functional programming world is laboring under the impression that state doesn't exist. The real issue is whether you think it's worth separating out code that can be reasoned about in a mathematical fashion from stateful code that has to deal with mutating concerns. Functional programming is where research on improving abstractions to better allo…

What makes you think that stateful code can't be reasoned about in a mathematical fashion?

Re: How Lisp is Going to Save the World

#134

With the deepest reverence to John McCarthy, I regret to say that Lisp is our cosmological constant. It creates a static universe that is otherwise expanding; it reduces the problem to a solvable one and then declares victory. The truth is, it's all state. All of it. Remember that movie "Boy in the Plastic Bubble," about a boy with an immune system deficiency who lives instead a hermetically-sealed, sterile bubble? T…

> The truth is, it's all state. All of it.

Lisp represents mutable state the same way Python and C++ do.

Re: How Lisp is Going to Save the World

#135
post #68

Great story. Unfortunately, the API documentation and tutorial writing guilds went extinct decades ago and has never been able to return to Lispland. :)

Seriously, this is a great point. One of the big problems with a small community of programmers who all think of themselves as elite, is that tasks like documentation and tutorial writing go by the wayside. This comment should be a wake-up call to any smart and far-sighted individuals who want to promote a language.

Re: How Lisp is Going to Save the World

#136
post #113

Earlier quoted context omitted.

Software moves fleets. Coordinates ten of thousands flights. Make sure that hundred thousands soldiers have supplies. It's called logistics. It's a new world. It happened. It's been said that this single piece of software paid back for all DoD AI research.

Just because supposedly a piece of software performing a critical purpose was written in lisp does not mean lisp won the war. If the software wasn't written in lisp, it would have been written in any other language. And if the software wasn't written at all there would have been hundreds of people doing the software's work manually instead. Did the software help? Probably. It's likely there would have been more screw…

But there was no other software. It was a logistics system written in Lisp which moved fleets, troops and supplies.

It was based on a decade of research in various planning software written in Lisp.

> And if the software wasn't written at all there would have been hundreds of people doing the software's work manually instead.

How so? How should it work to move hundred thousands of people with hundreds of thousands different types of things between several continents? In a few months?

Re: How Lisp is Going to Save the World

#137
post #136

Earlier quoted context omitted.

Just because supposedly a piece of software performing a critical purpose was written in lisp does not mean lisp won the war. If the software wasn't written in lisp, it would have been written in any other language. And if the software wasn't written at all there would have been hundreds of people doing the software's work manually instead. Did the software help? Probably. It's likely there would have been more screw…

But there was no other software. It was a logistics system written in Lisp which moved fleets, troops and supplies. It was based on a decade of research in various planning software written in Lisp. > And if the software wasn't written at all there would have been hundreds of people doing the software's work manually instead. How so? How should it work to move hundred thousands of people with hundreds of thousands di…

  the first Gulf War in Iraq was won because a Lisp application took care that US soldiers had everything from toilet paper, ammunition to gasoline
The word because means that if there was no Lisp application the war would not have been won. This is almost certainly false, even if the Lisp application did make things easier.

Re: How Lisp is Going to Save the World

#138

Earlier quoted context omitted.

My thoughts exactly, but I'd add this: I love and respect Lisp; I've written my fair share of it. There is absolutely nothing inherently magical in Lisp that prevent you from introducing bugs. You can just as easily make a logic error in your code that results in a bug. Bugs happen. Bugs will happen. There is no silver bullet. The only way to reduce bugs is to test thoroughly. tl;dr: nice cartoon, "lisp means no bugs…

"The only way to reduce bugs is to test thoroughly." That is false.

No, it's not false, but I'll rephrase it to illustrate my point: "the only economically practical way to reduce bugs is to test thoroughly, unless you're NASA or you have some magnificent budget that somehow lets you hire people who can mathematically prove your code is bug free".

I am aware that you can prove code is correct, from a math POV. That's about the only way you can write "bug free" code without extensive testing, and even then, I'd argue that's not good enough - code needs to be tested. Bugs don't exist just in code. They exist in CPUs. They exist in configuration. They exist in dependency version mishaps that somehow make your code work incorrectly.

There is no silver bullet here. Sorry - there just isn't.

Re: How Lisp is Going to Save the World

#140
post #126

Earlier quoted context omitted.

> I found the syntax very obtuse and it was not obvious why Lisp would be more powerful than Haskell. The easiest answer to that is, there's no syntax, which makes reimplementing your own Lisp parser trivial (one single function call, in fact). This in turn makes reimplementing your own Lisp, inline in Lisp, similarly trivial. That sounds like something out of an SICP exercise - and it is - but the same properties ma…

Have you got a good example where Lisp macros would work but standard Haskell would "fail"? I've done some compiler work in Haskell like writing programs (semantic actions) as algebraic data structures and then transforming or interpreting the tree. Would I gain something by using Lisp macros in this instance?

Many of Lisp's uses of macros can be replicated in Haskell by taking advantange of lazy evaluation. This is enough for most needs I've ever had, but some things still need the macro system that Template Haskell provides. Deriving lenses from type declarations is one of the up-to-the minute uses.
Post reply on HN