Lambda the Ultimate

inactiveTopic Why Lisp?
started 12/31/2001; 2:08:32 AM - last post 1/5/2002; 1:42:21 AM
Ehud Lamm - Why Lisp?  blueArrow
12/31/2001; 2:08:32 AM (reads: 1754, responses: 10)
Maybe someone here would like to help Keith with his question?

Noel Welsh - Re: Why Lisp?  blueArrow
1/2/2002; 4:01:01 AM (reads: 1805, responses: 0)
Doesn't look like we can add stuff to Keith's site so I'll respond here with my view.

I use Scheme in general and PLT Scheme in particular. There are a number of reasons:

Compared to other functional languages the PLT guys have spent less time on the compiler and more time on the libraries and programming environment. This is a better distribution of work for most of the stuff I do as speed often isn't critical but having good libraries is a real productivity boost.

No dogma. Ok there is dogma but Scheme doesn't put the type system ahead of getting things done. I appreciate static type systems (which is why I use MrSpidey, the static type system in PLT Scheme (soon to be MrFlow)) but I think static typing is the tail that wags the dog in most FPLs. Its there as a programmer aid; it should bend to the programs you want to write not the other way around.

Macros. Love em. Syntactic abstraction is a major productivity boost. The whole code = data thing is great and its easy in Scheme.

I've never used Rebol so I can't comment on it.

Ehud Lamm - Re: Why Lisp?  blueArrow
1/2/2002; 8:27:41 AM (reads: 1786, responses: 0)
We had many discussions of syntactic abstraction, some quite recently. Interested folks may want to check the archives.

Ehud Lamm - Re: Why Lisp?  blueArrow
1/4/2002; 5:26:10 AM (reads: 1749, responses: 0)
re macros, see Shriram Krishnamurthi's LL1 slides (PPT or PDF).

Somewhere on the LL1 listserv archive Shriram (I think) talks about the read operation, that prodcues structured input data. It was a good message, but niether I nor google can find it at the moment.

Anton van Straaten - Re: Why Lisp?  blueArrow
1/4/2002; 6:56:50 AM (reads: 1761, responses: 0)
Rebol is a scripting language originally based on Scheme. It appears to be currently primarily targeted towards scripting, and the status of its module system is unclear to me. One can be forgiven for wanting to steer clear of a scripting-oriented language for development of large and complex systems. From what I see right now, admittedly with no experience of REBOL, I might use REBOL instead of Perl or Ruby, but I wouldn't use it instead of Lisp or Scheme - or I would need to be convinced that it is capable of doing that, or intended to do that.

Paul Graham seems to want something that he finds better than Lisp. It doesn't look to me as though REBOL originally targeted that space, although it may be moving in that direction.

That said, REBOL looks like a cool little system, although I can't stand all those missing parentheses! :oP

More generally, Paul Graham wants to write a variety of Lisp because that's the language he likes most, but he wants to change it in various ways. The last major attempt to revamp Lisp resulted in Scheme, which in turn resulted in languages like Dylan and REBOL, both interesting, useful, powerful, and different languages. And that's the point. Arc will presumably be a different language from Dylan, REBOL, and Scheme, with different strengths and weaknesses.

Anyone asking a question which amounts to "why isn't my favorite offshoot of Scheme taking over the world" should probably learn Scheme, to find out the answer. SICP might be a good place to start.

Frank Atanassow - Re: Why Lisp?  blueArrow
1/4/2002; 11:50:21 AM (reads: 1717, responses: 1)
The ratio of page views to messages on this board is over 20:1. People must like LISP...!

Ehud Lamm - Re: Why Lisp?  blueArrow
1/4/2002; 12:15:05 PM (reads: 1797, responses: 0)
Isn't Scheme better? (Only kidding, let's not start a flame war...)

Frank Atanassow - Re: Why Lisp?  blueArrow
1/4/2002; 1:32:02 PM (reads: 1712, responses: 1)
Anyone asking a question which amounts to "why isn't my favorite offshoot of Scheme taking over the world" should probably learn Scheme

This is strange. Did you really mean to write this?

Ehud Lamm - Re: Why Lisp?  blueArrow
1/4/2002; 2:48:25 PM (reads: 1775, responses: 0)
I didn't understand it either. Not least of all because language success depends on so much more than just technical merit.

Anton van Straaten - Re: Why Lisp?  blueArrow
1/4/2002; 3:56:45 PM (reads: 1700, responses: 1)
Anyone asking a question which amounts to "why isn't my favorite offshoot of Scheme taking over the world" should probably learn Scheme
This is strange. Did you really mean to write this?
Thanks! If one can't be cryptic, what's the point of existence?? Yes, I meant it. The original question Keith posed amounted to "Why not REBOL?" This question assumes something about the universal idealness of REBOL (or language X) that isn't true. Since REBOL was based on Scheme, to fully explore this question, you need to learn Scheme - to understand the roots of the language, and what is gained and lost by adding certain kinds of features, and removing others.

I agree with Graham's approach in The Roots of Lisp, too. You can't truly understand most things without understanding their roots.

BTW, Keith's question was posed as a technically-based one, so that's what my response focused on, as opposed to e.g. marketing concerns. Perhaps, instead of "...taking over the world", I should have written "...clearly understood to be technically superior by everyone who looks at it".

Ehud Lamm - Re: Why Lisp?  blueArrow
1/5/2002; 1:42:21 AM (reads: 1804, responses: 0)
my response focused on, as opposed to e.g. marketing concerns. Perhaps, instead of "...taking over the world", I should have written "...clearly understood to be technically superior by everyone who looks at it".

That's a much better way to put it.

(Though, I have problems with the notion that languages can be ranked linearly. You just have to look at particular kinds of usage).