Live data from Hacker News

Why Lisp?

blog.rongarret.info

241–248 of 248 posts

Re: Why Lisp?

#241
post #236

Earlier quoted context omitted.

>In your example of transactions, you didn't shown that macro-based solutions are more elegant than non-macro based solutions; you merely showed that Java before version 8 wasn't very good... I think it wasn't clear what I was referring to. I was talking about not Java, but a Lisp-style solution. Here it is with macros: (transaction (do-stuff) (do-stuff-if-commit-successful) (do-stuff-if-rollback)) Here's the version…

The problem that I have with lisp macros is that the elegance you gain at the syntax level is effectively a tradeoff with pragmatism when other people read and use the code. Java was developed with parts of C++/C as inspiration and parts of that language were left out. Particularly, operator overloading was left out (which can be viewed as a very restricted example of modifying the language), presumably because it's…

Yes, macros can make code very hard to read, if designed badly. Of course, so can functions, variable names, and program flow.

But Lisp with macros is very different from C++ with operator overloading. With C++ operator overloading, you only know if a given line has something you don't understand (that is, an overloaded operator) by looking at every other file in your project. With Lisp macros, you know that you're dealing with something new because you don't recognize the first token in the s-expression. You might not know it's a _macro_ rather than just a _function_, but you know it's something you need to investigate.

Basically, in Rumsfeld's terminology, an overloaded operator is an unknown unknown, but a Lisp macro is a known unknown. A macro's behavior may be confusing, but its existence isn't. And that's a very big difference.

Re: Why Lisp?

#242
post #224

Earlier quoted context omitted.

Exactly. Where's CL's Rails, or Eclipse, or Postgres?

Lisp's Eclipse is called GNU Emacs and it's free software. It comes with more than a million lines of Lisp code supporting all kinds of development tasks.

It's also not Common Lisp. I get that emacs lisp is a pretty good example of a lisp, but I do find it interesting that the Lisp designed to be the widely-applicable industry standard hasn't seen something on the same level.

Re: Why Lisp?

#243
post #224

Earlier quoted context omitted.

Lisp's Eclipse is called GNU Emacs and it's free software. It comes with more than a million lines of Lisp code supporting all kinds of development tasks.

It's also not Common Lisp. I get that emacs lisp is a pretty good example of a lisp, but I do find it interesting that the Lisp designed to be the widely-applicable industry standard hasn't seen something on the same level.

Emacs Lisp is closely related to Common Lisp. Both are coming from Maclisp. Emacs Lisp also contains lots of Common Lisp functionality.

Emacs Lisp also has extensive communication facilities with Common Lisp. See SLIME/Swank.

> but I do find it interesting that the Lisp designed to be the widely-applicable industry standard hasn't seen something on the same level.

There are also Clozure CL IDE, the LispWorks IDE or the Allegro CL IDE. All three are written in Common Lisp.

Re: Why Lisp?

#244
post #243

Earlier quoted context omitted.

It's also not Common Lisp. I get that emacs lisp is a pretty good example of a lisp, but I do find it interesting that the Lisp designed to be the widely-applicable industry standard hasn't seen something on the same level.

Emacs Lisp is closely related to Common Lisp. Both are coming from Maclisp. Emacs Lisp also contains lots of Common Lisp functionality. Emacs Lisp also has extensive communication facilities with Common Lisp. See SLIME/Swank. > but I do find it interesting that the Lisp designed to be the widely-applicable industry standard hasn't seen something on the same level. There are also Clozure CL IDE, the LispWorks IDE or t…

> There are also Clozure CL IDE, the LispWorks IDE or the Allegro CL IDE. All three are written in Common Lisp.

So what's stopped these from getting to Emacs' level of popularity?

Re: Why Lisp?

#245
post #243

Earlier quoted context omitted.

Emacs Lisp is closely related to Common Lisp. Both are coming from Maclisp. Emacs Lisp also contains lots of Common Lisp functionality. Emacs Lisp also has extensive communication facilities with Common Lisp. See SLIME/Swank. > but I do find it interesting that the Lisp designed to be the widely-applicable industry standard hasn't seen something on the same level. There are also Clozure CL IDE, the LispWorks IDE or t…

> There are also Clozure CL IDE, the LispWorks IDE or the Allegro CL IDE. All three are written in Common Lisp. So what's stopped these from getting to Emacs' level of popularity?

> So what's stopped these from getting to Emacs' level of popularity?

Emacs is not an editor. Emacs is a family of editors. You are probably talking about GNU Emacs.

They never tried and it would not make sense. GNU Emacs exists already and supports Lisp development very well. The other tools have concentrated on other things: GUI-based IDEs for Lisp.

Re: Why Lisp?

#246
post #226

Earlier quoted context omitted.

Similar, similar, only if you don't look too closely: what about break and continue? They are usually supported by native foreach construct but are difficult to build with macros..

only if you don't look too closely Look as closely as you'd like. :) what about break and continue? They are usually supported by native foreach construct but are difficult to build with macros.. For break, DOLIST uses return. I haven't worked with Lisp in some time, so I don't remember if it has a dedicated continue. But a continue is just a break in a loop that doesn't loop. Or a GOTO by another name. Or a jump to…

> Why do you think that supporting break and continue in macros is difficult?

In many languages, emulation of control loop do not support break and continue so I thought that this was the case also here, but apparently I'm wrong, sorry for my 'too quick' post and thanks for the correction.

Re: Why Lisp?

#247
post #245

Earlier quoted context omitted.

> There are also Clozure CL IDE, the LispWorks IDE or the Allegro CL IDE. All three are written in Common Lisp. So what's stopped these from getting to Emacs' level of popularity?

> So what's stopped these from getting to Emacs' level of popularity? Emacs is not an editor. Emacs is a family of editors. You are probably talking about GNU Emacs. They never tried and it would not make sense. GNU Emacs exists already and supports Lisp development very well. The other tools have concentrated on other things: GUI-based IDEs for Lisp.

> Emacs is not an editor. Emacs is a family of editors. You are probably talking about GNU Emacs.

You tell me, you brought it up!

> They never tried and it would not make sense. GNU Emacs exists already and supports Lisp development very well. The other tools have concentrated on other things: GUI-based IDEs for Lisp.

Emacs is for more than Lisp development, though. It's not popular because you can do Lisp in it, it's popular because you can do everything in it. So we're back to my earlier question, which is why we haven't seen major, broad-based wins for Common Lisp, on the scale that we have for other languages.

Re: Why Lisp?

#248
post #245

Earlier quoted context omitted.

> So what's stopped these from getting to Emacs' level of popularity? Emacs is not an editor. Emacs is a family of editors. You are probably talking about GNU Emacs. They never tried and it would not make sense. GNU Emacs exists already and supports Lisp development very well. The other tools have concentrated on other things: GUI-based IDEs for Lisp.

> Emacs is not an editor. Emacs is a family of editors. You are probably talking about GNU Emacs. You tell me, you brought it up! > They never tried and it would not make sense. GNU Emacs exists already and supports Lisp development very well. The other tools have concentrated on other things: GUI-based IDEs for Lisp. Emacs is for more than Lisp development, though. It's not popular because you can do Lisp in it, it'…

> You tell me, you brought it up!

I talked about GNU Emacs.

> Emacs is for more than Lisp development, though.

Not Emacs, GNU Emacs. That's what I wrote.

> we haven't seen major, broad-based wins for Common Lisp, on the scale that we have for other languages.

Common Lisp tends to be used in very specialized areas. It's a complex language.

Though sometimes it has been used where you don't see it, but you may be affected. American Express runs a Lisp based system checking credit card transactions. Should be running for two decades or longer. Amazon was using Lisp to compute some stuff on their shopping pages. CIA and NSA use it to spy on us. Lots of aircrafts (Airbus & Boeing) and cars (Jaguar, Ford, ...) were designed with Lisp-based CAD systems. NASA uses it for checking software correctness. Chip makers like AMD have used it to check processor designs for correct operations. There are many of those applications. Google's flight search engine has its core written in Lisp. Dwave wrote the software for their quantum processor in Lisp. There is a broadband internet of satellite company running Lisp on their antennas. Parts of the precursor software of Apple's Siri were written in Lisp. That's the stuff what it was originally was designed for...

Post reply on HN