"Succinctness is Power", by Paul Graham

He: “So it’s basically just Scheme, but with an uglier syntax.”
Coming from a LISPer, that’s pretty rich. Schemers have no sense of
irony.

I had no reply.

Pah. There were plenty. What about “extensive standard library”,
“flexible
OO architecture”, “large ecosystem of modules”, “namespaces/modularity”,
“((((((fewer)(parentheses)))))))))))))))))))))))” etc.?

Martin

Kero wrote:

(Some fun w/ Lisp and Ruby: Ruby Quiz - Lisp Game (#49))

I once had this little conversation with a programmer tha I respect a lot:
He: “Does Ruby have closures?”
Me: “Yes”
He: “Does Ruby have continuations?”
Me: “Yes”
He: “So it’s basically just Scheme, but with an uglier syntax.”

I had no reply.

Well … Ruby has closures and continuations, but does it have the third
hallmark of Scheme – efficient tail recursion?

“M. Edward (Ed) Borasky” [email protected] writes:

I had no reply.

Well … Ruby has closures and continuations, but does it have the third
hallmark of Scheme – efficient tail recursion?

Implementation detail. But I really wish it did…

Well … Ruby has closures and continuations, but does it have the
third
hallmark of Scheme – efficient tail recursion?

No, but then Ruby’s not a functional language, so it doesn’t really
merit it. Still, I wouldn’t mind.

Martin

On 10/2/06, Zed A. Shaw [email protected] wrote:

The problem I have with the two best-known Ruby DSLs, Rails and Rake, is
So, at least the rails core team agrees with you. Heh.

Oh great, an ever modifiable ruby DSL that we’ll never be able to write a nice configuration > tool against. What happened to embrace the constraint?

Perhaps you could get the best of both worlds by “constraining” the
developers to writing a simple API with every new config file
“format”, so that code could read and write it.

Or otherwise you could have:

include database.rb
include custom-that-modifies-some-settings.rb

…which can override whatever database.rb does.

But I agree that YAML is better for this.

Les

On Oct 3, 2006, at 10:22 PM, Christian N. wrote:

Well … Ruby has closures and continuations, but does it have the
third
hallmark of Scheme – efficient tail recursion?

Implementation detail. But I really wish it did…

I was always wondering what this really means? Is it just the
transformation of recursive calls at the end of a method into loops
and therefore killing the stack overhead of recursions?

Cheers,
Mariano

On 3 Oct 2006, at 21:32, Mariano K. wrote:

I was always wondering what this really means? Is it just the
transformation of recursive calls at the end of a method into loops
and therefore killing the stack overhead of recursions?

Yes. Scheme doesn’t really have any looping constructs. Schemers do
it all recursively, which forces you to think in interesting ways
about problems. But if you got a stack overflow every time you looped
through a large collection, it could rapidly become… annoying.

However, the tail-call optimization is just that- an optimization. An
implementation detail. It’s not a feature of the language per se, and
could be added to Ruby without needing to make a single change to the
language spec. In any case, if we really cared about VM efficiency,
we wouldn’t be Rubyists. ;p

Martin

I once had this little conversation with a programmer tha I respect a lot:
He: “Does Ruby have closures?”
Me: “Yes”
He: “Does Ruby have continuations?”
Me: “Yes”
He: “So it’s basically just Scheme, but with an uglier syntax.”

I had no reply.

You know, there’s a great blog thingy somewhere, I forgot who but I
think it was by Mark-Jason Dominus, about how Lisp will never be big
because it has a mean, dysfunctional community with an axe to grind.
It’s kind of related to Bruce Tate’s thing that being a superior
language is not enough, you have to have market adoption as well.

Of course there are also good arguments out there against becoming
“mainstream” in the first place.