From: Tayss
Subject: Where to find good lisp critiques?
Date: 
Message-ID: <5627c6fa.0311302057.1046b59a@posting.google.com>
I'm trawling through old usenet postings about lisp.  Boy, were they a
flaming bunch.  (Though some of their criticisms today look silly.) 
Does anyone know of any places I can find good criticisms?  This
doesn't have to be just about Common Lisp, but systems like Interlisp
or how overrated Lisp Machines were would be great too.

Partly I'm motivated by a waning interest in learning more about the
language (because books only give a very filtered account), and
because I think people can simply not trust all this wide-eyed
idealism that comes from evangelists.  If critics were just partly
right about Common Lisp being a nasty compromise, it would be very
educational.

BTW, I'm aware of the enormous noise-to-signal ratios inherent in
these things... and I'm not motivated by any dislike of lisp,
especially since I'm still blown away at how I can write Common Lisp
test harness systems in under 20 lines that are far better than xUnit,
or a personal Google that keeps track of what I buy in less than 50...

Any pointers would be very appreciated.

From: Kenny Tilton
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <ZwAyb.149006$ri.21619746@twister.nyc.rr.com>
Tayss wrote:

> Does anyone know of any places I can find good criticisms? 

Paul Graham's site? He likes Lisp, but thinks Common Lisp sucks.

kt


-- 
http://tilton-technology.com

Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film

Your Project Here! http://alu.cliki.net/Industry%20Application
From: Tayss
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <5627c6fa.0312010750.7c49b1e1@posting.google.com>
Kenny Tilton <·······@nyc.rr.com> wrote in message news:<························@twister.nyc.rr.com>...
> Tayss wrote:
> > Does anyone know of any places I can find good criticisms? 
> 
> Paul Graham's site? He likes Lisp, but thinks Common Lisp sucks.

Interestingly enough, I've never seen him make clear on why he thinks
that.  His intro book talks a bit about loop, and I can see the
iteration vs. recursion war, but I don't remember him making it
explicit.  I think a lot of people have been used to all these
flamewars and end up taking things for granted without specifying them
in detail.

Like whenever I make a post here, sometimes I step on a landmine. 
Which is why my original post was so long, to make sure I'm not
perceived as some jerk who wants to make flamewars by regurgitating
old flames.

What I really would like to understand is Hillis' and Weinreb's
comments that Common Lisp would have been a lot more like Scheme if
backwards compatibility were not so important an issue.  And what
parts of Flavors should not have been lost by CLOS.  I guess I should
start searching for the minutes of the standardization committee.
From: Duane Rettig
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <4brqszee3.fsf@franz.com>
··········@yahoo.com (Tayss) writes:

> Kenny Tilton <·······@nyc.rr.com> wrote in message news:<························@twister.nyc.rr.com>...
> > Tayss wrote:
> > > Does anyone know of any places I can find good criticisms? 
> > 
> > Paul Graham's site? He likes Lisp, but thinks Common Lisp sucks.
> 
> Interestingly enough, I've never seen him make clear on why he thinks
> that.

He stated at ILC 2003 that _all_ current lisps suck.  It's obvious what
he's trying to do; he's setting up his own lisp, Arc, to be the one
lisp that doesn't suck.

>  His intro book talks a bit about loop, and I can see the
> iteration vs. recursion war, but I don't remember him making it
> explicit.

His complaint about loop isn't about iteration vs recursion; it is
a different-language-within-a-language complaint.  I remember reading
his critique, but it was a long time ago; I don't remember if he did
this, but his complaint would not be complete unless he also included
a complaint about cl:format, which is also a complete language within CL.
Such is the nature of CL - languages withing languages...

>  I think a lot of people have been used to all these
> flamewars and end up taking things for granted without specifying them
> in detail.

Perhaps is it truer that people go away from these flamewars with
their own opinions, none of which match anyone else's.

> Like whenever I make a post here, sometimes I step on a landmine. 
> Which is why my original post was so long, to make sure I'm not
> perceived as some jerk who wants to make flamewars by regurgitating
> old flames.

I read through that post, and I think I understand what you're getting
to, but you didn't state any other goal than educational as to why
you are looking for these criticisms.  Are there any other long-range
purposes?

If education is your final objective, then it would not be complete
unless you also have obtained reactions/responses to those criticisms
as well.  I agree with the request that you make the compilation of
these criticisms available, and perhaps you could add to these any
links to classic responses that are provided to you for each criticism.
Such a site would be a tremendous resource.

> What I really would like to understand is Hillis' and Weinreb's
> comments that Common Lisp would have been a lot more like Scheme if
> backwards compatibility were not so important an issue.

Such comments assume that Common Lisp hangs on that one objective
(i.e. backward compatibility).  That assumption is wrong.  Common
Lisp makes tradeoffs (among others) between inclusiveness and
simplicity, and comes down on the side of inclusiveness usually.
Scheme is the opposite - it comes down on the side of simplicity
usually.  Inclusiveness is not a backward-compatibility issue,
although there are compatibility issues to deal with when including
many concepts into a larger whole.

> And what parts of Flavors should not have been lost by CLOS.

Allegro CL still supports Flavors.  We have a few flavors-users who
themselves have approached us to ease the transition into the CLOS
world by making flavor instances more dynamic, at least to a certain
extent. The parts of Flavors (e.g. static nature) which were "lost"
to CLOS were done so for a reason, and it is not an accident that
most of our users have moved away from Flavors, even though it is
still available.

> I guess I should
> start searching for the minutes of the standardization committee.

Start with the issues:
http://www.lispworks.com/reference/HyperSpec/Front/X3J13Iss.htm


-- 
Duane Rettig    ·····@franz.com    Franz Inc.  http://www.franz.com/
555 12th St., Suite 1450               http://www.555citycenter.com/
Oakland, Ca. 94607        Phone: (510) 452-2000; Fax: (510) 452-0182   
From: Kent M Pitman
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <sfwd6b8z57z.fsf@shell01.TheWorld.com>
Duane Rettig <·····@franz.com> writes:

> > What I really would like to understand is Hillis' and Weinreb's
> > comments that Common Lisp would have been a lot more like Scheme if
> > backwards compatibility were not so important an issue.
> 
> Such comments assume that Common Lisp hangs on that one objective
> (i.e. backward compatibility).  That assumption is wrong.  Common
> Lisp makes tradeoffs (among others) between inclusiveness and
> simplicity, and comes down on the side of inclusiveness usually.
> Scheme is the opposite - it comes down on the side of simplicity
> usually.  Inclusiveness is not a backward-compatibility issue,
> although there are compatibility issues to deal with when including
> many concepts into a larger whole.

In one sense perhaps this illustrates the way in which there is a
problem in the problem description.  Backward compatibility is not
always about attention to "existing practice" but can sometimes also
be about the sensibilities of those with experience.  Indeed if you
killed off all of those who remembered why CL was the way it was and
you ignored all of the written documentation on the design rationales
and you just tried to re-invent the thought based on other documents
that have come since (which have tried, sometimse unconsciously
sometimes consciously) to ignore Lisp, you might indeed find that you
ended up making Schemish decisions rather than Lisp ones.  But it's
just as likely that the reason would be "ignorance" as "informedness".
That's not to call Scheme advocates ignorant at all.  That's just to
say that CL is what it is for a great many time-tested reasons, just
as Scheme is.  There is no "canonically good Lisp".  However, there are
centers of mass at various points in the multi-dimensional design space
around which local optima have been observed to be achieved working from
various incompatible design principles, which is how we get to Duane's
observation above, which I think is well-put.  

The problem is really in objectively defining your goal.  Since that
cannot be done, it's easy to manipulate the outcome of a discussion
and confuse those who are discussing things.

The "good" outcome, if any can be had, is merely to "inform one of a
space of options open to them".  Any time someone tries to inform you
that things others are using successfully are "not options open to
you" or are "bad options", be at least a bit suspicious.  I use Lisp
because it is good for me, and I welcome others to the midst who are
dissatisfied with what they find elsewhere, but I do not engage in
trying to convince others in other communities that they are or should
be dissatisfied.  I'm happy to engage in a discussion with them about
why I was dissatisfied with other options, or to help them articulate
their own vague reasons for dissatisfication that perhaps they cannot
put into words, but I want to stop short of putting words or ideas
into their head where they have not invited me.  This is one reason I
largely do not post on comp.lang.scheme even though I have used Scheme
and have strong feelings about it.  I prefer to read that list, when I
very occasionally do, to find out what its advocates say on their own
terms, not in response to my or others' critiques.
From: Tayss
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <5627c6fa.0312011803.3f1dddb@posting.google.com>
Duane Rettig <·····@franz.com> wrote in message news:<·············@franz.com>...
> ··········@yahoo.com (Tayss) writes:
> > Interestingly enough, I've never seen him make clear on why he thinks
> > that.
> 
> He stated at ILC 2003 that _all_ current lisps suck.  It's obvious what
> he's trying to do; he's setting up his own lisp, Arc, to be the one
> lisp that doesn't suck.

Ok, I'm clearly being stupid.  I was starting to bite peoples' heads
off for being irrational, so a couple days ago I started being more
sociable in my relationships, but now I'm being sloppy in the
technical aspects of my life.

Allow me not to respond to parts that arose from my sloppy thinking.


> His complaint about loop isn't about iteration vs recursion; it is
> a different-language-within-a-language complaint.  I remember reading
> his critique, but it was a long time ago; I don't remember if he did
> this, but his complaint would not be complete unless he also included
> a complaint about cl:format, which is also a complete language within CL.
> Such is the nature of CL - languages withing languages...

I /suspect/ iteration forces lots of control constructs, culminating
in loop and a preponderance of syntaxes (and therefore his critique),
so I will try to clarify this issue.

Personally, when I'm tired, I tend to shift towards writing completely
recursive computations because I don't want to err when writing
iteratively.  So I currently sense the two issues of
recursion-vs-iteration and different-language-within-language are
linked.


> I read through that post, and I think I understand what you're getting
> to, but you didn't state any other goal than educational as to why
> you are looking for these criticisms.  Are there any other long-range
> purposes?

If I put up a webpage with this info, there are a number of benefits
which I may not intend but still could exist:

- More trustworthy evangelism attempts.  Plus deeper resources on how
people countered unfair criticisms in the past.

- I would have liked to watch old greek philosophical debates, even if
most were bad.  Lisp debates tend to (ideally) focus away from
syntactical issues, at least to a greater degree than C's for() loop
syntax debates.  As a practical example, eq/eql/=/... forms have much
to do with issues that people have debated for millenia; so if there
were ever any debates about the tradeoffs of, say, making
characters/numbers not "true objects," those might be cool.

- Credibility to the thesis that lisp encourages greater community
participation.  In various language communities, Heijlsberg and van
Rossum are gods, and while this may be due to good taste and skill,
part of it also is their extreme domination over syntax and therefore
their users.  This is just a qualitative critique, but I suspect as
humans, we must decide under what conditions we wish to create under.

- Entertainment.

- Every language could use a _Design & Evolution of C++_, though
perhaps Mazayuki Ida has been doing that for lisp, as Paolo kindly
pointed out.


> > What I really would like to understand is Hillis' and Weinreb's
> > comments that Common Lisp would have been a lot more like Scheme if
> > backwards compatibility were not so important an issue.
> 
> Such comments assume that Common Lisp hangs on that one objective
> (i.e. backward compatibility).  That assumption is wrong.  Common
> Lisp makes tradeoffs (among others) between inclusiveness and
> simplicity, and comes down on the side of inclusiveness usually.

I understand that backward compatibility is not a complete decider,
but I'd be surprised if it's not an 800-lb gorilla.  I recall hearing
Symbolics studied the cost of code breakage; the success of wintel is
often attributed to reverse-compatibility, with Microsoft employees
publicly pointing to it as why their products often diverge from
standards.  Also anecdotal evidence from XEmacs and Sun.

From Weinreb (I won't assume he speaks for Symbolics' bloc, though
maybe he did once):
http://www.ai.mit.edu/~gregs/ll1-discuss-archive-html/msg02462.html
http://www.ai.mit.edu/~gregs/ll1-discuss-archive-html/msg02449.html


> Scheme is the opposite - it comes down on the side of simplicity
> usually.  Inclusiveness is not a backward-compatibility issue,
> although there are compatibility issues to deal with when including
> many concepts into a larger whole.

As I understand, Scheme can either be the R5RS standard,
implementations, or a critique of programming languages (which wasn't
necessarily meant to replace but rather inform).  I remember watching
the sicp vid of Sussman explaining the internal compatibility issue
you mention; so maybe Scheme people have... paranoia issues.  But from
the Common Lisp perspective, it does not appear necessary to follow
that philosophy to gain good things from it, such as how some
Buddhists enjoy Christian-style weddings without the "issues"
Christian ceremonies often imply.

Maybe I can trot out the success of lexical scoping as the tired old
example, where Common Lisp was able to keep special variables, keyword
args, and other goodies Scheme is not comfortable with.

BTW, obviously you know more about lisp than I do.  If I sound
confrontational, I'm just getting my head straight and trying to
explain myself.
From: Joe Marshall
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <y8twosp3.fsf@comcast.net>
··········@yahoo.com (Tayss) writes:

> - I would have liked to watch old greek philosophical debates, even if
> most were bad.

The ancient Greeks were *far* ahead of their time.  Many of their
philosophical questions were simply well beyond their means to answer
them.  I think that many of their conclusions were wrong, but that is
not necessarily because they were bad at reasoning.

Now imagine how philosophy would be different if we were able to
transport modern computers back to the Greeks.


-- 
~jrm
From: Fred Gilham
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <u7ekvnf7g5.fsf@snapdragon.csl.sri.com>
Joe Marshall <·············@comcast.net> writes:

> ··········@yahoo.com (Tayss) writes:
> 
> > - I would have liked to watch old greek philosophical debates, even if
> > most were bad.
> 
> The ancient Greeks were *far* ahead of their time.  Many of their
> philosophical questions were simply well beyond their means to answer
> them.  I think that many of their conclusions were wrong, but that is
> not necessarily because they were bad at reasoning.
> 
> Now imagine how philosophy would be different if we were able to
> transport modern computers back to the Greeks.


Neil Postman (in AMUSING OURSELVES TO DEATH) points out that at the
time of Plato there was a debate over whether things should be written
down or remembered.  Plato was of the "old school" which argued that
writing things down caused people's memories to atrophy.  (Of course
we only know of him by his written-down dialogs, so that is somewhat
ironic.)

The introduction of technology --- any technology --- can change the
underlying environment and so change not just the premises of an
argument (the raw material so to speak) but more fundamentally the
very activity in which you are engaged in.  The Greeks with computers
would not have done the things we remember them for.  Yes, they might
have done something else we'd remember them for, but maybe not.

Even so small a change as using Lisp (with its associated development
tools) compared to another language can do something like this.
Programming in Lisp seems to me at least to be a different activity
than programming in, say, Java.

-- 
Fred Gilham                                         ······@csl.sri.com
In matters of religion I have considered that its free exercise is
placed by the Constitution independent of the powers of the General
Government. I have therefore undertaken on no occasion to prescribe
the religious exercises suited to it, but have left them, as the
Constitution found them, under the direction and discipline of the
church or state authorities acknowledged by the several religious
societies.         --- Thomas Jefferson, Second Inaugural Address
From: Paolo Amoroso
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <87iskzs23s.fsf@plato.moon.paoloamoroso.it>
Joe Marshall writes:

> The ancient Greeks were *far* ahead of their time.  Many of their

Indeed. You may check Lucio Russo's "La rivoluzione
dimenticata". Unfortunately, the book is available only in Italian.


Paolo
-- 
Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film
From: Ray Dillinger
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <3FCB945B.CBDC4BC3@sonic.net>
Duane Rettig wrote:
> 
> ··········@yahoo.com (Tayss) writes:
> 
> > Kenny Tilton <·······@nyc.rr.com> wrote in message news:<························@twister.nyc.rr.com>...
> > > Tayss wrote:
> > > > Does anyone know of any places I can find good criticisms?
> > >
> > > Paul Graham's site? He likes Lisp, but thinks Common Lisp sucks.
> >
> > Interestingly enough, I've never seen him make clear on why he thinks
> > that.
> 
> He stated at ILC 2003 that _all_ current lisps suck.  It's obvious what
> he's trying to do; he's setting up his own lisp, Arc, to be the one
> lisp that doesn't suck.

Actually, I think his report of his perception regarding 
current lisps is sincere.  He's not trying to create a 
market for what he's doing; let's face it, the man has 
made his money and doesn't seem to have any very expensive 
tastes.  It seems to me that he's doing ARC mainly 
*because* he thinks that current lisps suck. 

Common Lisp and Scheme have problems in very different 
ways, for very different reasons.  I think there's plenty 
of space in which you can do better than both languages 
on most things.

I think Mr. Graham likes the single namespace of scheme.
I think he wants a more uniform treatment of data that have
until now been regarded as different kinds (strings, lists 
of characters).   I think he dislikes scheme's hygienic 
macros and call/cc.  I think he likes the drive to fewer 
and more general operators of scheme but likes the range 
and scope of libraries in Common Lisp.  

Basically, CL has the problems of a big-ass system language; 
complicated interfaces, difficult to learn, module and OO 
stuff you have to know to get much of anywhere, etc.  These 
are lots of barriers to entry, and this is a problem scheme 
doesn't have.  You can pick up scheme in a couple days 
relatively painlessly because it's a lot simpler, and CL 
misses a lot of opportunities for simplicity.  It has a 
big, solid standard that makes most original ideas about
how a language could work illegal.

Scheme has the problems of a pedagogical language; it's 
small and clean and simple and powerful in terms of its 
control structures and the interaction of its parts, but 
it doesn't have parts that do most of the specific bit-
fiddling stuff you need and standardization moves at a 
glacial pace.  It's standard prohibits very little, and
as a result dozens of implementations fill in the gaps 
with thousands of different ideas - fertile ground for 
experimentation and language design and thinking about 
what code is and does, but not a solid platform for 
developing software. 

Graham is apparently trying to aim ARC at a different 
target.

			Bear
From: Duane Rettig
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <4ekvot6tn.fsf@franz.com>
Ray Dillinger <····@sonic.net> writes:

> Duane Rettig wrote:
> > 
> > ··········@yahoo.com (Tayss) writes:
> > 
> > > Kenny Tilton <·······@nyc.rr.com> wrote in message news:<························@twister.nyc.rr.com>...
> > > > Tayss wrote:
> > > > > Does anyone know of any places I can find good criticisms?
> > > >
> > > > Paul Graham's site? He likes Lisp, but thinks Common Lisp sucks.
> > >
> > > Interestingly enough, I've never seen him make clear on why he thinks
> > > that.
> > 
> > He stated at ILC 2003 that _all_ current lisps suck.  It's obvious what
> > he's trying to do; he's setting up his own lisp, Arc, to be the one
> > lisp that doesn't suck.
> 
> Actually, I think his report of his perception regarding 
> current lisps is sincere.

How do you read what I said as saying that he was being
insincere?  Of course he is sincere.  He sincerely thinks
he can create a language that doesn't suck.  

> He's not trying to create a  market for what he's doing;

I would be disappointed if that were true.  And I don't think
it is true.  Conversations with him in the halls lead me to
believe that in fact he is indeed looking to market Arc.  The
portion of your statement the does seem to have a nugget of
truth in it is the undeniable fact that he is not marketing
Arc using conventional methods.  And he does seem surprised
that people are pushing so hard at him to "get it done", where
he really is trying to do it right, and doesn't have it all
designed yet.  But from what he said on stage and in the halls
at ILC 2003, he most certainly wants Arc to succeed and to
become very popular.

> let's face it, the man has 
> made his money and doesn't seem to have any very expensive 
> tastes.  It seems to me that he's doing ARC mainly 
> *because* he thinks that current lisps suck. 

Yes, and once his version is done, it will be interesting
to see how many people think his new lisp sucks, as well.
He may succeed in minimizing that number, but I have strong
doubts that it will go to zero.

> Common Lisp and Scheme have problems in very different 
> ways, for very different reasons.  I think there's plenty 
> of space in which you can do better than both languages 
> on most things.

You use the term "better", but you haven't defined it, nor
have you succeeded in providing examples below (the examples
below are tradeoffs, not necessarily betterments).

> I think Mr. Graham likes the single namespace of scheme.
> I think he wants a more uniform treatment of data that have
> until now been regarded as different kinds (strings, lists 
> of characters).   I think he dislikes scheme's hygienic 
> macros and call/cc.  I think he likes the drive to fewer 
> and more general operators of scheme but likes the range 
> and scope of libraries in Common Lisp.  
> 
> Basically, CL has the problems of a big-ass system language; 
> complicated interfaces, difficult to learn, module and OO 
> stuff you have to know to get much of anywhere, etc.  These 
> are lots of barriers to entry, and this is a problem scheme 
> doesn't have.  You can pick up scheme in a couple days 
> relatively painlessly because it's a lot simpler, and CL 
> misses a lot of opportunities for simplicity.  It has a 
> big, solid standard that makes most original ideas about
> how a language could work illegal.
> 
> Scheme has the problems of a pedagogical language; it's 
> small and clean and simple and powerful in terms of its 
> control structures and the interaction of its parts, but 
> it doesn't have parts that do most of the specific bit-
> fiddling stuff you need and standardization moves at a 
> glacial pace.  It's standard prohibits very little, and
> as a result dozens of implementations fill in the gaps 
> with thousands of different ideas - fertile ground for 
> experimentation and language design and thinking about 
> what code is and does, but not a solid platform for 
> developing software. 

Both Scheme and CL have strong points as well as weaknesses, and
they in fact fairly well balance each other based on the opposite
directions they tend to lean.  When Arc is solidified,
it will also have its strong points and its weaknesses, based
on design decisions made, and if those weaknesses overlap any
of Scheme's or CL's strengths, then there will be those in the
Scheme or CL camps that say that Arc sucks as well.

> Graham is apparently trying to aim ARC at a different 
> target.

I wish him the best of luck.  It is and will be an uphill
battle to hit that target.

-- 
Duane Rettig    ·····@franz.com    Franz Inc.  http://www.franz.com/
555 12th St., Suite 1450               http://www.555citycenter.com/
Oakland, Ca. 94607        Phone: (510) 452-2000; Fax: (510) 452-0182   
From: Kenny Tilton
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <0MRyb.178694$Gq.21824622@twister.nyc.rr.com>
Duane Rettig wrote:
> Ray Dillinger <····@sonic.net> writes:
> 
> 
>>Duane Rettig wrote:
>>
>>>··········@yahoo.com (Tayss) writes:
>>>
>>>
>>>>Kenny Tilton <·······@nyc.rr.com> wrote in message news:<························@twister.nyc.rr.com>...
>>>>
>>>>>Tayss wrote:
>>>>>
>>>>>>Does anyone know of any places I can find good criticisms?
>>>>>
>>>>>Paul Graham's site? He likes Lisp, but thinks Common Lisp sucks.
>>>>
>>>>Interestingly enough, I've never seen him make clear on why he thinks
>>>>that.
>>>
>>>He stated at ILC 2003 that _all_ current lisps suck.  It's obvious what
>>>he's trying to do; he's setting up his own lisp, Arc, to be the one
>>>lisp that doesn't suck.
>>
>>Actually, I think his report of his perception regarding 
>>current lisps is sincere.
> 
> 
> How do you read what I said as saying that he was being
> insincere?  Of course he is sincere.  He sincerely thinks
> he can create a language that doesn't suck.  

FWIW, I also took "setting up" (esp., but along with that whole 
sentence) as an indictment of PG's sincerity in damning all Lisps, even 
with my higher-precedence awareness that such semantics would be wildly 
out of character for a class act such as yourself.

I am glad to hear I should put more faith in established precedence 
lists than perceived implications of always-ambiguous natural language.

kt

-- 
http://tilton-technology.com

Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film

Your Project Here! http://alu.cliki.net/Industry%20Application
From: Kenny Tilton
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <h8Nyb.178331$Gq.21691974@twister.nyc.rr.com>
Ray Dillinger wrote:
> Duane Rettig wrote:
> 
>>··········@yahoo.com (Tayss) writes:
>>
>>
>>>Kenny Tilton <·······@nyc.rr.com> wrote in message news:<························@twister.nyc.rr.com>...
>>>
>>>>Tayss wrote:
>>>>
>>>>>Does anyone know of any places I can find good criticisms?
>>>>
>>>>Paul Graham's site? He likes Lisp, but thinks Common Lisp sucks.
>>>
>>>Interestingly enough, I've never seen him make clear on why he thinks
>>>that.
>>
>>He stated at ILC 2003 that _all_ current lisps suck.  It's obvious what
>>he's trying to do; he's setting up his own lisp, Arc, to be the one
>>lisp that doesn't suck.
> 
> 
> Actually, I think his report of his perception regarding 
> current lisps is sincere.  He's not trying to create a 
> market for what he's doing; let's face it, the man has 
> made his money and doesn't seem to have any very expensive 
> tastes. 

I agree. It is probably just a cool retirement project. Hell, everyone 
on cll seems to be working on their own version of Lisp, why shouldn't 
he? The great thing is how much attention it will bring to CL.

The only way we lose is if Arc turns out better than CL, and then we 
don't lose, because, contrary to the "wide-eyed idealism that comes from 
evangelists" bullshit, we're all just happy users. Create a better 
language and we'll use that.

But from what Graham says about "small is better", methinks it will 
suffer the fate of Scheme. I'd be amazed to see Arc come with OO, so the 
first thing that happens (if Arc takes off and people want to scale it 
from scripting jobs to apps) is multiple Arc OOs. etc etc, and then 
sharing gets ugly.

But I'd love to see Arc get to an initial release just to see what PG 
comes up with.

-- 
http://tilton-technology.com

Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film

Your Project Here! http://alu.cliki.net/Industry%20Application
From: Bob Riemenschneider
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <ce15782d.0312021325.fa41e81@posting.google.com>
Kenny Tilton <·······@nyc.rr.com> wrote in message news:<························@twister.nyc.rr.com>
> ... Hell, everyone 
> on cll seems to be working on their own version of Lisp, why shouldn't 
> [Paul Graham]? ...

Well, I would guess that everyone who has done more than play with
Common Lisp has ideas on how to "improve" it.  And I'm more than
willing to listen to any of them who has enough sense to use CL to
implement his or her "new and improved Lisp".  The others I kinda
worry about.

                                                -- rar
From: Ray Dillinger
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <3FCD2C08.819B63CC@sonic.net>
Bob Riemenschneider wrote:
> 
> Kenny Tilton <·······@nyc.rr.com> wrote in message news:<························@twister.nyc.rr.com>
> > ... Hell, everyone
> > on cll seems to be working on their own version of Lisp, why shouldn't
> > [Paul Graham]? ...
> 
> Well, I would guess that everyone who has done more than play with
> Common Lisp has ideas on how to "improve" it.  And I'm more than
> willing to listen to any of them who has enough sense to use CL to
> implement his or her "new and improved Lisp".  The others I kinda
> worry about.

So am I one of the ones you worry about?  I'm using scheme to 
implement a "new and improved" Lisp...  

				Bear
From: Sebastian Stern
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <ad7d32de.0312030411.7714c4cb@posting.google.com>
Ray Dillinger wrote:
> I think Mr. Graham likes the single namespace of scheme.
> I think he wants a more uniform treatment of data that have
> until now been regarded as different kinds (strings, lists 
> of characters).   I think he dislikes scheme's hygienic 
> macros and call/cc.  I think he likes the drive to fewer 
> and more general operators of scheme but likes the range 
> and scope of libraries in Common Lisp.  

Actually, I do not think Graham thinks continuations are a bad idea.
On the LLn mailing list, he admits that you can do great things with
them, and that having call/cc makes thing cleaner and easier. I am
reserving judgment as to whether this is actually the case.

But, to pour more oil on the fire, here is a quote from Guy L. Steele,
from the same mailing list:

"Common Lisp with proper tail recursion and call/cc WOULD be a better
language."

Steele, the Ultimate Scheme Troll ;-)

Sebastian Stern.

"Freedom is the freedom to say (= (+ 2 2) 4). If that is granted, all
else follows."
From: Kent M Pitman
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <sfwad6auhfr.fsf@shell01.TheWorld.com>
········@yahoo.com (Sebastian Stern) writes:

> But, to pour more oil on the fire, here is a quote from Guy L. Steele,
> from the same mailing list:
> 
> "Common Lisp with proper tail recursion and call/cc WOULD be a better
> language."

I think I probably disagree. 

Now, are you going to believe him just because he authored the original
language spec?  For that matter, are you going to believe me just because
I edited the more recent language spec?

My point here is that Steele's statement (or anyone's--mine, for example)
that something would or would not make the language better does not, in
and of itself, prove anything.  Unless you're just blindly playing follow
the leader.

Absent a statement of what "better" means and possibly also why these
things achieve "betterness", it's hard to even debate.

I've said it before, and I'll say it again:  There is no Good nor Bad in
the abstract concept of Language Design.  Good and Bad exist within a
design context working toward a specific langauge with a specific set of
known goals.  They are not absolutes.

So I guess you accomplished your goal of pouring oil on the fire: you
got a lot of thick smoke that makes it harder to see what's going on.
From: Sebastian Stern
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <3fcdf9f4$0$4693$1b62eedf@news.euronet.nl>
"Kent M Pitman" wrote:
> ········@yahoo.com (Sebastian Stern) writes:
> > But, to pour more oil on the fire, here is a quote from Guy L. Steele,
> > from the same mailing list:
> >
> > "Common Lisp with proper tail recursion and call/cc WOULD be a better
> > language."
>
> I think I probably disagree.
>
> Now, are you going to believe him just because he authored the original
> language spec?  For that matter, are you going to believe me just because
> I edited the more recent language spec?

I never said I believed him, earlier in my post I said I was reserving
judgement.

> My point here is that Steele's statement (or anyone's--mine, for example)
> that something would or would not make the language better does not, in
> and of itself, prove anything.  Unless you're just blindly playing follow
> the leader.

I am not following any leader, I just found it noteworthy to mention what a
prominent Lisper thinks. If you must know, I find your input just as
valuable, Kent.

> So I guess you accomplished your goal of pouring oil on the fire: you
> got a lot of thick smoke that makes it harder to see what's going on.

My remark about "pouring oil on the fire" was made tongue in cheek, I never
said it was my goal. Perhaps I should pepper my future correspondence with
even more smileys to make such misunderstandings occur less. <sigh>

Sebastian Stern

((call/cc call/cc) (call/cc call/cc)) ;-)
From: Kent M Pitman
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <sfwn0a9eugd.fsf@shell01.TheWorld.com>
"Sebastian Stern" <··············@wanadoo.nl> writes:

> > My point here is that Steele's statement (or anyone's--mine, for example)
> > that something would or would not make the language better does not, in
> > and of itself, prove anything.  Unless you're just blindly playing follow
> > the leader.
> 
> I am not following any leader, I just found it noteworthy to mention what a
> prominent Lisper thinks. If you must know, I find your input just as
> valuable, Kent.

I'm glad you think so, though I wouldn't be worried if you didn't.
My hope is that people will believe me (and Steele) because we make
good arguments, not because of our names.  And I was just trying to
point out that when we fail to make good arguments, it's fair game
to call us on it.  

Once in a while, especially when extending beyond the limits of what
people have experience with, it's worth just relying on an expert's
good judgment and not making them prove every point they make.  The
intuitions of an expert in uncharted waters can be very valuable.  But
languages both with and without continuations are not uncharted waters,
which is why I went after this one.

I didn't mean to make you feel personally jumped upon here--unless
it's you that lost the context of Steele's remark.  I'm really harping
(mildly) at Steele for using a term like "better" without defining it.
Wording traps like this are remarkably subtle and the reason I waste
my time highlighting them is to remind people of hidden assumptions
that may lead them to strange conclusions.  We often think we know
what "better" means, but often we disagree violently--the word is very
stretchy in meaning.  And sometimes in cases like this we're prone to
look at the good in something but ignore its cost, but if it were truly
cost-free we'd have added it.  We knew about it.  Steele was a co-author
of the original Scheme paper and the many Lambda papers. I don't know if
it's he or Sussman that invented continuations and/or "full catch" (how
call/cc was originally presented), but he certainly knew its value.  And
he held the pen for both CLTL (which admittedly was a group effort--he
couldn't force things in without permission) and, often, the agenda for
design discussions (which is where he could have forced discussion).
So it's reasonable to infer that its omission was not casual.

(I don't personally recall a lot of discussion of it in the move
toward CLTL, but I joined the design group in 1981, and they'd been
going for a year before I got there.  Probably any discussion I saw on
it was residual.  I think it was mostly a settled deal by time I
arrived.  I'm sure we occasionally talked about stack debuggers and
how hard it would be to debug without them...  I seem to recall that
as the dominating issue, and I continue to believe the choice was not
a bad one.  Though these days I tend to lean toward wanting to see
experimentation with a declaration-based solution, perhaps something
similar to the way inline declarations work... at least for tail
calls.  I think continuations are cute for teaching, but I don't want
them in any language I program in...)

> > So I guess you accomplished your goal of pouring oil on the fire: you
> > got a lot of thick smoke that makes it harder to see what's going on.
> 
> My remark about "pouring oil on the fire" was made tongue in cheek, I never
> said it was my goal. Perhaps I should pepper my future correspondence with
> even more smileys to make such misunderstandings occur less. <sigh>

I'm not sure I really misunderstood.  The remark seemed intended to provoke
discussion, so I was discussing... ;)
From: David Golden
Subject: mentioned tail call elimination feature/declaration?
Date: 
Message-ID: <cavzb.3175$nm6.18005@news.indigo.ie>
Kent M Pitman wrote:

> Though these days I tend to lean toward wanting to see
> experimentation with a declaration-based solution, perhaps something
> similar to the way inline declarations work... at least for tail
> calls.  

How would this work?  I think I'd like to see something like that.

It might be nice to have a de-facto-standard agreed experimental feature
:x-common-tail-call-elim or whatever that meant that you could 100% rely on
a defined (ahem) safe-for-space behaviour in certain common situations and
presumably given certain caveats, at least when a new declaration like
x-please-common-tail-call-elim was active.

Individual implementations would perhaps be free to do more agressive
optimisations than the base tail-elim set in addition, and just not have a
:x-common-tail-call-elim feature at all if they didn't want to do the
entire defined set, but those of us with a dirty habit of writing slightly
schemey code could just test for the tail-elim feature, make the relevant 
declaration, and perhaps stop living in utterly implementation-specific sin
- I tend not to stray from CMUCL, but AFAIK all the high-perfomance
compilers can do such safe-for-space behaviour already, they just differ on
the niggling little showstopping details, right?

Presumably, defining and agreeing on what the set of situations and caveats
should be would be the killer... I have NO IDEA how to do that 
- but I'm guessing certain better minds have already thought about it much
harder than my lisp-dilettante one has?
From: Joe Marshall
Subject: Re: mentioned tail call elimination feature/declaration?
Date: 
Message-ID: <7k1c8rit.fsf@ccs.neu.edu>
David Golden <············@oceanfree.net> writes:

> Kent M Pitman wrote:
>
>> Though these days I tend to lean toward wanting to see
>> experimentation with a declaration-based solution, perhaps something
>> similar to the way inline declarations work... at least for tail
>> calls.  
>
> How would this work?  I think I'd like to see something like that.

How about 

(declaim (optimize (dynamic-space 3)))
 = Tail call elimination where possible

(declaim (optimize (dynamic-space 2)))
 = Tail call elimination (when possible) for self-calls and locally
 defined (i.e. FLET or LABELS) functions only, no elimination on
 non-self calls.

(declaim (optimize (dynamic-space 1)))
 = Tail call elimination (when possible) for self-calls only.

(declaim (optimize (dynamic-space 0)))
 = No tail call elimination anywhere.

Implementations can ignore this declaration.
From: David Golden
Subject: Re: mentioned tail call elimination feature/declaration?
Date: 
Message-ID: <M3Nzb.3267$nm6.17967@news.indigo.ie>
Joe Marshall wrote:

>> How would this work?  I think I'd like to see something like that.
> 
> How about
> 
> (declaim (optimize (dynamic-space 3)))
>  = Tail call elimination where possible
>  [etc..]


What I was worried about was more along the lines of:
What would constitute a "tail context" in CL? 

Where?
It's all very well saying "elimination where possible", but I think you'd
need a list of where, like in Scheme R5RS section 3.5, which defines where
tail contexts are in terms of a subset of rules of the scheme grammar.  The
Scheme ones are pretty common-sense I guess, but in CL may not be just
"intuitively obvious" to everyone.  Or maybe they would, I dunno.  The
CMUCL manual section 5.5 about tail recursion in CMUCL talks about "tail
recursive positions" - but AFAICS it does not exhaustively define what all
the "tail recursive positions" / "tail contexts" might be in CL. 

When?
The CMUCL user manual explains in what situations tail-call elimination has
to be suppressed for other features' sake, at least in CMUCL.  Various
dynamic binding issues mainly - they were what I had in mind with my
earlier "given certain caveats".  These are almost certainly not
"intuitively obvious" to someone freshly arriving in CL from Scheme.

So:
My major concern would be that an implementation with a feature of
:tail-whatever and providing a known declaration of (optimise
(tail-whatever 3)) to turn it on,  would at minimum comply with a
particular list of valid tail contexts, provided the programmer bore in
mind the list of known caveats.  

So you could just #- and bomb out if you knew you were writing code that
pretty much depended on it - if a fellow with your source wanted to just
risk it on a non-compliant implementation, they'd have to make a conscious
decision to overrule your #-









  
From: Joe Marshall
Subject: Re: mentioned tail call elimination feature/declaration?
Date: 
Message-ID: <3cc0nukt.fsf@ccs.neu.edu>
David Golden <············@oceanfree.net> writes:

> Joe Marshall wrote:
>
>>> How would this work?  I think I'd like to see something like that.
>> 
>> How about
>> 
>> (declaim (optimize (dynamic-space 3)))
>>  = Tail call elimination where possible
>>  [etc..]
>
>
> What I was worried about was more along the lines of:
> What would constitute a "tail context" in CL? 
>
> Where?
> It's all very well saying "elimination where possible", but I think you'd
> need a list of where, like in Scheme R5RS section 3.5, which defines where
> tail contexts are in terms of a subset of rules of the scheme grammar.  The
> Scheme ones are pretty common-sense I guess, but in CL may not be just
> "intuitively obvious" to everyone.  Or maybe they would, I dunno.  The
> CMUCL manual section 5.5 about tail recursion in CMUCL talks about "tail
> recursive positions" - but AFAICS it does not exhaustively define what all
> the "tail recursive positions" / "tail contexts" might be in CL. 

If anyone were serious about providing such a thing, I think a list of
the forms that are required to be tail-recursive and forms that are
allowed to be non-tail recursive wouldn't be too hard to hash out.

> When?

I can't see it happening any time soon.

> So:
> My major concern would be that an implementation with a feature of
> :tail-whatever and providing a known declaration of (optimise
> (tail-whatever 3)) to turn it on,  would at minimum comply with a
> particular list of valid tail contexts, provided the programmer bore in
> mind the list of known caveats.  

That sounds reasonable.
From: David Golden
Subject: Re: mentioned tail call elimination feature/declaration?
Date: 
Message-ID: <chOzb.3282$nm6.18210@news.indigo.ie>
Joe Marshall wrote:

> I can't see it happening any time soon.
> 

Me neither. But I just created a page on cliki anyway, so if someone
wants to pick at it, it's there.  My gnat-like attention span is already
wandering :-).
From: Rob Warnock
Subject: Re: mentioned tail call elimination feature/declaration?
Date: 
Message-ID: <p5GcnbvatY6aTkyiXTWc-g@speakeasy.net>
David Golden  <············@oceanfree.net> wrote:
+---------------
| It might be nice to have a de-facto-standard agreed experimental feature
| :x-common-tail-call-elim or whatever that meant that you could 100% rely on
| a defined (ahem) safe-for-space behaviour in certain common situations and
| presumably given certain caveats, at least when a new declaration like
| x-please-common-tail-call-elim was active.
+---------------

Just a reminder that proper tail call optimization does *NOT* by itself
guarantee safe-for-space behavior -- you need a lot of other implementation
design choice to have been made in certain ways as well. [This is well-
known in the Scheme community, by the way.] For example, the standard
technique of implementing displays as linked lists of vectors of lexicals
(one vector per level of closure nesting) can interact with tail calls
to produce unsafe-for-space behavior, since closing over one lexical
variable can cause the values of other variables, unused by the closure,
to be retained after they're no longer accessible. There are ways around
that, e.g., make closures use "flat" environments[1]
, but
one must pay attention to more than *just* proper tail call optimization
to guarantee safe-for-space behavior. The following paper discusses some
of the issues (especially the closure environments representation issue):

	<URL:http://flint.cs.yale.edu/flint/publications/escc.html>

We also talked about it here at some length last April, IIRC...


-Rob

[1] Which usually impleis rewriting some lexicals -- those that are
    both further closed over *and* mutated -- into a pointer to a boxed
    heap value, including rewriting all forms like (setf foo (bar foo))
    into (setf (box-ref %%fake-foo) (bar (box-ref %%fake-foo))), etc.

-----
Rob Warnock			<····@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607
From: Rob Warnock
Subject: Re: mentioned tail call elimination feature/declaration?
Date: 
Message-ID: <p5GcnbratY7_TkyiXTWc-g@speakeasy.net>
David Golden  <············@oceanfree.net> wrote:
+---------------
| It might be nice to have a de-facto-standard agreed experimental feature
| :x-common-tail-call-elim or whatever that meant that you could 100% rely on
| a defined (ahem) safe-for-space behaviour in certain common situations and
| presumably given certain caveats, at least when a new declaration like
| x-please-common-tail-call-elim was active.
+---------------

Just a reminder that proper tail call optimization does *NOT* by itself
guarantee safe-for-space behavior -- you need a lot of other implementation
design choice to have been made in certain ways as well. [This is well-
known in the Scheme community, by the way.] For example, the standard
technique of implementing displays as linked lists of vectors of lexicals
(one vector per level of closure nesting) can interact with tail calls
to produce unsafe-for-space behavior, since closing over one lexical
variable can cause the values of other variables, unused by the closure,
to be retained after they're no longer accessible. There are ways around
that, e.g., make closures use "flat" environments[1], but one must pay
attention to more than *just* proper tail call optimization to guarantee
safe-for-space behavior. The following paper discusses some of the issues
(especially the closure environments representation issue):

	<URL:http://flint.cs.yale.edu/flint/publications/escc.html>

We also talked about it here at some length last April, IIRC...


-Rob

[1] Which requires rewriting some lexicals -- those that are both
    further closed over *and* mutated -- into a pointer to a boxed
    heap value, including rewriting all forms like (setf foo (bar foo))
    into (setf (box-ref %%fake-foo) (bar (box-ref %%fake-foo))), etc.

-----
Rob Warnock			<····@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607
From: Joe Marshall
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <k75daknk.fsf@ccs.neu.edu>
········@yahoo.com (Sebastian Stern) writes:

> But, to pour more oil on the fire, here is a quote from Guy L. Steele,
> from the same mailing list:
>
> "Common Lisp with proper tail recursion and call/cc WOULD be a better
> language."

This can be interpreted in two ways:

  1)  If Common Lisp required implementations to be properly tail
      recursive and to implement full continuations, it would be
      better for all users.

  2)  If a vendor of Common Lisp provided proper tail recursion and
      full continuations its product would be better than if it had no
      tail recursion and upwards-only continuations.

The first statement is more controversial than the second.
From: Duane Rettig
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <4iskxpymu.fsf@franz.com>
Joe Marshall <···@ccs.neu.edu> writes:

> ········@yahoo.com (Sebastian Stern) writes:
> 
> > But, to pour more oil on the fire, here is a quote from Guy L. Steele,
> > from the same mailing list:
> >
> > "Common Lisp with proper tail recursion and call/cc WOULD be a better
> > language."
> 
> This can be interpreted in two ways:
> 
>   1)  If Common Lisp required implementations to be properly tail
>       recursive and to implement full continuations, it would be
>       better for all users.
> 
>   2)  If a vendor of Common Lisp provided proper tail recursion and
>       full continuations its product would be better than if it had no
>       tail recursion and upwards-only continuations.
> 
> The first statement is more controversial than the second.

Even more controversial might be a third interpretation of the
statement, based on natural language construction:

 3) Common Lisp _is_ a better language (at least halfway), because
 it _already_ does tail recursion properly.  Many of the
 implementations even transform some tail recursions for stack
 space safety!

[Oh, he was using Scheme's definitional phrase!  I guess it
would have been more understandable to CLers and less pejorative
if he had had the benefit of our newfound agreement to use "space
efficient" or "safe-for-space" tail-recursion transformations
in our discussions.]

-- 
Duane Rettig    ·····@franz.com    Franz Inc.  http://www.franz.com/
555 12th St., Suite 1450               http://www.555citycenter.com/
Oakland, Ca. 94607        Phone: (510) 452-2000; Fax: (510) 452-0182   
From: Michael Manti
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <031220032044278354%mmanti@mac.com>
In article <·············@franz.com>, Duane Rettig <·····@franz.com>
wrote:

> Joe Marshall <···@ccs.neu.edu> writes:
> 
> > ········@yahoo.com (Sebastian Stern) writes:
> > 
> > > But, to pour more oil on the fire, here is a quote from Guy L. Steele,
> > > from the same mailing list:
> > >
> > > "Common Lisp with proper tail recursion and call/cc WOULD be a better
> > > language."
> > 
> > This can be interpreted in two ways:
> > 
> >   1)  If Common Lisp required implementations to be properly tail
> >       recursive and to implement full continuations, it would be
> >       better for all users.
> > 
> >   2)  If a vendor of Common Lisp provided proper tail recursion and
> >       full continuations its product would be better than if it had no
> >       tail recursion and upwards-only continuations.
> > 
> > The first statement is more controversial than the second.
> 
> Even more controversial might be a third interpretation of the
> statement, based on natural language construction:
> 
>  3) Common Lisp _is_ a better language (at least halfway), because
>  it _already_ does tail recursion properly.  Many of the
>  implementations even transform some tail recursions for stack
>  space safety!
> 
> [Oh, he was using Scheme's definitional phrase!  I guess it
> would have been more understandable to CLers and less pejorative
> if he had had the benefit of our newfound agreement to use "space
> efficient" or "safe-for-space" tail-recursion transformations
> in our discussions.]

I don't suppose that anyone would actually want to consider the
actual--albeit partial--context of Guy Steele's statement:

"LOOP doesn't handle everything (such as vector-add),
but it makes a lot of very common cases easier to
handle.  So I wouldn't preclude Common Lisp (or any
other language) from having something like LOOP,
but it's important to recognize that (a) more general
mechanisms are needed to cover the hairier cases,
and (b) appropriate pedegogy is needed so that programmers
will know the general mechanisms and when they are to
be preferred to LOOP.

WHat bugs me is languages that make LOOP-like things
easy but make the more general mechanisms much, much
harder (or impossible) to use.

--Guy Steele

P.S. Yes, per Pascal Costanza, Common Lisp with proper tail
recursion and call/cc WOULD be a better language."

If anyone's interested in Steele's opinions rather than speculation
about his opinions, she can look at the discussion in the archive of
the LL1 mailing list at http://ll1.ai.mit.edu.  Look for the threads
with "why tail recursion matters" in the subject line.
From: Duane Rettig
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <4wu9dwc68.fsf@franz.com>
Michael Manti <······@mac.com> writes:

> In article <·············@franz.com>, Duane Rettig <·····@franz.com>
> wrote:
> 
> > Even more controversial might be a third interpretation of the
> > statement, based on natural language construction:
> > 
> >  3) Common Lisp _is_ a better language (at least halfway), because
> >  it _already_ does tail recursion properly.  Many of the
> >  implementations even transform some tail recursions for stack
> >  space safety!
> > 
> > [Oh, he was using Scheme's definitional phrase!  I guess it
> > would have been more understandable to CLers and less pejorative
> > if he had had the benefit of our newfound agreement to use "space
> > efficient" or "safe-for-space" tail-recursion transformations
> > in our discussions.]
> 
> I don't suppose that anyone would actually want to consider the
> actual--albeit partial--context of Guy Steele's statement:

Ah, so you didn't see the smiley in my text?

-- 
Duane Rettig    ·····@franz.com    Franz Inc.  http://www.franz.com/
555 12th St., Suite 1450               http://www.555citycenter.com/
Oakland, Ca. 94607        Phone: (510) 452-2000; Fax: (510) 452-0182   
From: Marco Antoniotti
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <lJIzb.310$KR3.178255@typhoon.nyu.edu>
Michael Manti wrote:

> P.S. Yes, per Pascal Costanza, Common Lisp with proper tail
> recursion and call/cc WOULD be a better language."

OTOH Scheme with DEFSTRUCT would be a better language (sorry, I couldn't 
resist) :)

Cheers

--
Marco
From: Pascal Costanza
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <bqnmsq$qn8$1@newsreader2.netcologne.de>
Marco Antoniotti wrote:

> 
> Michael Manti wrote:
> 
>> P.S. Yes, per Pascal Costanza, Common Lisp with proper tail
>> recursion and call/cc WOULD be a better language."
> 
> OTOH Scheme with DEFSTRUCT would be a better language (sorry, I couldn't 
> resist) :)

Just for the records, I am not so sure anymore wrt to the statement above.

In the meantime I have learned two things:

- Proper tail recursion (or better: space-safe tail recursion) still 
doesn't give you anything for free. You still have to arrange your 
source code in certain ways to make it work. So it doesn't seem to me 
that space-safe tail recursion is inherently superior to tail call 
elimination. It might make it a little easier to arrange you source code 
so that the positive effects will occur. But this might only affect 
pathological cases that don't occur in practice. (Note that I am not 
claiming this. I am happy to be corrected in this regard.)

- I have made the statement wrt call/cc under the impression that web 
interactions and non-deterministic programming a la Screamer are good 
non-academic, real-world examples of uses of continuations. I have heard 
convincing arguments against using continuations for web interactions - 
especially Marc Battyani's ILC 2002 paper about his web framework is an 
eye opener. And Kenny Tilton has successfully questioned the usefulness 
of Screamer from my POV.

Pascal

-- 
Tyler: "How's that working out for you?"
Jack: "Great."
Tyler: "Keep it up, then."
From: Joe Marshall
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <3cc08qzs.fsf@ccs.neu.edu>
Pascal Costanza <········@web.de> writes:

> Marco Antoniotti wrote:
>
>> Michael Manti wrote:
>>
>>> P.S. Yes, per Pascal Costanza, Common Lisp with proper tail
>>> recursion and call/cc WOULD be a better language."
>> OTOH Scheme with DEFSTRUCT would be a better language (sorry, I
>> couldn't resist) :)
>
> Just for the records, I am not so sure anymore wrt to the statement above.
>
> In the meantime I have learned two things:
>
> - Proper tail recursion (or better: space-safe tail recursion) still
> doesn't give you anything for free. 

Sure it does.  If you completely *ignore* it, i.e., do absolutely
nothing whatsoever to your code, it will give you no worse stack usage
and most likely better stack usage.  It doesn't make anything worse,
but it can make some things better.

> You still have to arrange your source code in certain ways to make
> it work.  

Only if you care.

> So it doesn't seem to me that space-safe tail recursion is
> inherently superior to tail call elimination.

I don't know what you mean here.

> And Kenny Tilton has successfully questioned the
> usefulness of Screamer from my POV.

I disagree about this.  Kenny has successfully questioned the
usefulness of Screamer as a panacea, but it seems that Screamer is a
good tool if you want to do constraint-based programming, and that
*some* problems are best expressed in this way.
From: Pascal Costanza
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <bqnr05$5nr$1@newsreader2.netcologne.de>
Joe Marshall wrote:
> Pascal Costanza <········@web.de> writes:
> 
>>Marco Antoniotti wrote:
>>
>>>Michael Manti wrote:
>>>
>>>
>>>>P.S. Yes, per Pascal Costanza, Common Lisp with proper tail
>>>>recursion and call/cc WOULD be a better language."
>>>
>>>OTOH Scheme with DEFSTRUCT would be a better language (sorry, I
>>>couldn't resist) :)
>>
>>Just for the records, I am not so sure anymore wrt to the statement above.
>>
>>In the meantime I have learned two things:
>>
>>- Proper tail recursion (or better: space-safe tail recursion) still
>>doesn't give you anything for free. 
> 
> Sure it does.  If you completely *ignore* it, i.e., do absolutely
> nothing whatsoever to your code, it will give you no worse stack usage
> and most likely better stack usage.  It doesn't make anything worse,
> but it can make some things better.

Yes, and this might or might not matter. It's a nice feature, but not 
necessarily a critical one.

>>You still have to arrange your source code in certain ways to make
>>it work.  
> 
> Only if you care.
> 
>>So it doesn't seem to me that space-safe tail recursion is
>>inherently superior to tail call elimination.
> 
> I don't know what you mean here.

What I mean is: If you care, then a more "conservative" tail call 
optimization can still get you there. In some cases, this might mean 
that you have to rearrange your code more than with space-safe tail 
recursion.

I would be interested a) if the advantages space-safe tail recursion has 
over traditional tail call optimization covers cases that appear in real 
code, and b) if the changes you need to make in those cases so that the 
weaker tail call optimization handles them are drastic or minimal.

>>And Kenny Tilton has successfully questioned the
>>usefulness of Screamer from my POV.
> 
> I disagree about this.  Kenny has successfully questioned the
> usefulness of Screamer as a panacea, but it seems that Screamer is a
> good tool if you want to do constraint-based programming, and that
> *some* problems are best expressed in this way.

OK, agreed. I have worded this very badly.

The important question is whether something like Screamer is reason 
enough to include call/cc in a language, especially when it's its only 
real-world use. (I have no final opinion about this. It's still not 
clear to me to what extent Screamer needs call/cc, and this is something 
I still would like to check when I happen to find the time for it.)


Pascal

-- 
Tyler: "How's that working out for you?"
Jack: "Great."
Tyler: "Keep it up, then."
From: Joe Marshall
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <he0g78uo.fsf@ccs.neu.edu>
Pascal Costanza <········@web.de> writes:

> What I mean is:  If you care, then a more "conservative" tail call
> optimization can still get you there.  In some cases, this might mean
> that you have to rearrange your code more than with space-safe tail
> recursion.

Self-tail recursion is trivially rewritten as a loop, so it only buys
you a little bit.  It is the general tail-call optimization that gets
you something that is hard to get otherwise.

> The important question is whether something like Screamer is reason
> enough to include call/cc in a language, especially when it's its only
> real-world use. (I have no final opinion about this. It's still not
> clear to me to what extent Screamer needs call/cc, and this is
> something I still would like to check when I happen to find the time
> for it.)

I think that call-with-current-continuation would be nice to have, but
I haven't seen good arguments that it would be a serious enhancement.
Were I to implement Lisp from scratch, I'd probably use
call-with-current-continuation as the low-level substrate for the
non-standard control flow (catch/throw, signal, etc.) because it
is easier that way.
From: Duane Rettig
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <4ekvkpe0s.fsf@franz.com>
Joe Marshall <···@ccs.neu.edu> writes:

> Pascal Costanza <········@web.de> writes:
> 
> > What I mean is:  If you care, then a more "conservative" tail call
> > optimization can still get you there.  In some cases, this might mean
> > that you have to rearrange your code more than with space-safe tail
> > recursion.
> 
> Self-tail recursion is trivially rewritten as a loop, so it only buys
> you a little bit.  It is the general tail-call optimization that gets
> you something that is hard to get otherwise.

You mean like this:

CL-USER(1): (defun foo (x y)
              (declare (optimize speed (safety 0) (debug 0)))
              (bar x y))
FOO
CL-USER(2): (disassemble (compile *))
Warning: While compiling these undefined functions were referenced: BAR.
;; disassembly of #<Function FOO>
;; formals: X Y
;; constant vector:
0: BAR

;; code start: #x717c2104:
   0: 8b 5e 12    movl	ebx,[esi+18]      ; BAR
   3: ff 67 27    jmp	*[edi+39]  ; SYS::TRAMP-TWO
CL-USER(3): 

Or how about something a little less trivial?

CL-USER(3): (defun foo (x y)
              (declare (optimize speed (safety 0) (debug 0)))
              (bas)
              (bar x y))
FOO
CL-USER(4): (disassemble (compile *))
Warning: While compiling these undefined functions were referenced:
         BAR, BAS.
;; disassembly of #<Function FOO>
;; formals: X Y
;; constant vector:
0: BAS
1: BAR

;; code start: #x71638edc:
   0: 55          pushl	ebp
   1: 8b ec       movl	ebp,esp
   3: 56          pushl	esi
   4: 83 ec 2c    subl	esp,$44
   7: 89 45 e4    movl	[ebp-28],eax        ; EXCL::|local-0|
  10: 89 55 e0    movl	[ebp-32],edx        ; EXCL::|local-1|
  13: 8b 5e 12    movl	ebx,[esi+18]        ; BAS
  16: b1 00       movb	cl,$0
  18: ff d7       call	*edi
  20: 8b 45 e4    movl	eax,[ebp-28]        ; EXCL::|local-0|
  23: 8b 55 e0    movl	edx,[ebp-32]        ; EXCL::|local-1|
  26: c9          leave
  27: 8b 5e 16    movl	ebx,[esi+22]        ; BAR
  30: ff 67 27    jmp	*[edi+39]    ; SYS::TRAMP-TWO
  33: 90          nop
CL-USER(5): 

> > The important question is whether something like Screamer is reason
> > enough to include call/cc in a language, especially when it's its only
> > real-world use. (I have no final opinion about this. It's still not
> > clear to me to what extent Screamer needs call/cc, and this is
> > something I still would like to check when I happen to find the time
> > for it.)
> 
> I think that call-with-current-continuation would be nice to have, but
> I haven't seen good arguments that it would be a serious enhancement.

Continuations are easy enough in CL; I think that the main thing
that call/cc can do that CL can't easily do is to return from a
continuation more than once.

> Were I to implement Lisp from scratch, I'd probably use
> call-with-current-continuation as the low-level substrate for the
> non-standard control flow (catch/throw, signal, etc.) because it
> is easier that way.

-- 
Duane Rettig    ·····@franz.com    Franz Inc.  http://www.franz.com/
555 12th St., Suite 1450               http://www.555citycenter.com/
Oakland, Ca. 94607        Phone: (510) 452-2000; Fax: (510) 452-0182   
From: Joe Marshall
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <brqonvy6.fsf@ccs.neu.edu>
Duane Rettig <·····@franz.com> writes:

> Joe Marshall <···@ccs.neu.edu> writes:
>
>> Pascal Costanza <········@web.de> writes:
>> 
>> > What I mean is:  If you care, then a more "conservative" tail call
>> > optimization can still get you there.  In some cases, this might mean
>> > that you have to rearrange your code more than with space-safe tail
>> > recursion.
>> 
>> Self-tail recursion is trivially rewritten as a loop, so it only buys
>> you a little bit.  It is the general tail-call optimization that gets
>> you something that is hard to get otherwise.
>
> You mean like this:
>
> CL-USER(1): (defun foo (x y)
>               (declare (optimize speed (safety 0) (debug 0)))
>               (bar x y))
> FOO
> ;; code start: #x717c2104:
>    0: 8b 5e 12    movl	ebx,[esi+18]      ; BAR
>    3: ff 67 27    jmp	*[edi+39]  ; SYS::TRAMP-TWO

Exactly.  You need compiler support to make the call to BAR be
optimized.

For something like this:

(defun fact-iter (x accum)
  (if (= x 0)
      accum
      (fact-iter (- x 1) (* accum x))))

one could easily (and locally) rewrite it as:

(defun fact-iter (x accum)
  (loop
    (if (= x 0)
        (return-from fact-iter accum))
    (psetq x (- x 1)
           accum (* accum x))))

But if you write something like this:

(defun my-even-p (x)
  (or (zerop x)
      (my-odd-p (1- x))))

(defun my-odd-p (x)
  (not (my-even-p x)))

You cannot manually make it safe-for-space without coalescing
my-even-p and my-odd-p, you need to rely on the compiler.

>> I think that call-with-current-continuation would be nice to have, but
>> I haven't seen good arguments that it would be a serious enhancement.
>
> Continuations are easy enough in CL; I think that the main thing
> that call/cc can do that CL can't easily do is to return from a
> continuation more than once.

Right.  That is what I meant.
It is easy enough to fake with block/return if you want one-way
continuations.
From: Pascal Costanza
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <bqobln$8og$1@newsreader2.netcologne.de>
Joe Marshall wrote:

> Pascal Costanza <········@web.de> writes:
> 
> 
>>What I mean is:  If you care, then a more "conservative" tail call
>>optimization can still get you there.  In some cases, this might mean
>>that you have to rearrange your code more than with space-safe tail
>>recursion.
> 
> 
> Self-tail recursion is trivially rewritten as a loop, so it only buys
> you a little bit.  It is the general tail-call optimization that gets
> you something that is hard to get otherwise.

Sure. But how desperately do we need Scheme's concept of "proper tail 
recursion"?


Pascal

P.S.: Thanks for your other comments.

-- 
Tyler: "How's that working out for you?"
Jack: "Great."
Tyler: "Keep it up, then."
From: Joe Marshall
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <65gv2swh.fsf@ccs.neu.edu>
Pascal Costanza <········@web.de> writes:

> Sure.  But how desperately do we need Scheme's concept of "proper tail
> recursion"?

Not very.

Both Allegro Common Lisp and Xanalys Lispworks will do general
tail-call optimization if you set the compiler settings correctly.  In
fact, it is easy to set some configuration switches so that the
compiler *always* optimizes tail-calls in the `usual' cases
orthogonally to other optimizations.

So to some extent, we already have it.

I *do* write code that depends on this optimization.  Frankly, I
simply do not want to have to think whether I am `looping' or
`recurring'.  Guy Steele suggested that one think of a function call
as a `goto with arguments'.  When I write a function call, I want
unconditional transfer of control to that function with a certain set
of arguments.  The issue of returning a value is *not* dealt with at
this point.  (You only need to `come back' to the caller if there is
more work to do.  So I think of returning a value at the point where I
*consume* the value, not where I *generate* the value.)

My personal opinion is that implementations of Common Lisp that can
not support this are missing an *enhancement* to the language that I
find critical.

However, I don't think it is necessary to force this enhancement into
the standard.  I can easily `vote with my feet' and have done so:  I
use Allegro or Lispworks, and I don't use Corman (although I'd like
to).

When *every* version of Common Lisp has general tail-call
optimization, and when *every* vendor leaves it on by default because
the users want it that way, *then* we should think about standardizing
it.  Otherwise we'll just have useless bickering.
From: Duane Rettig
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <4ad67uqxk.fsf@franz.com>
Joe Marshall <···@ccs.neu.edu> writes:

 [ good stuff about tail-call merging as an extension ...]

> When *every* version of Common Lisp has general tail-call
> optimization,

I'm with you up to this point.

> and when *every* vendor leaves it on by default because
> the users want it that way,

This will not likely happen.  Tail call merging is not cost-free.
It saves stack space, but unless compensated for, it costs debug
information.

When we discussed implementing tail-call merging many years ago,
it was due to strong customer demands (and those demands changed,
based on whether the user was in a development mode or a production
mode), and we went through several iterations and oscillations in
our implementation (as well as many arguments internally) before
we discovered that separating the behavior for tail calls to
the _same_ function from tails calls to _other_ functions, as well
as providing different default settings of the debug quality based
on the need for development/debug, would provide the cleanest
divisions of customer's needs for defaulting purposes.  Those
defaults are now set, and are not likely to change, because they
provide the most users with the best defaults for what they want
to do under different situations.

> *then* we should think about standardizing
> it.  Otherwise we'll just have useless bickering.

Oh, but useless bickering is so much fun ...

-- 
Duane Rettig    ·····@franz.com    Franz Inc.  http://www.franz.com/
555 12th St., Suite 1450               http://www.555citycenter.com/
Oakland, Ca. 94607        Phone: (510) 452-2000; Fax: (510) 452-0182   
From: Kent M Pitman
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <sfwllpr5et3.fsf@shell01.TheWorld.com>
Duane Rettig <·····@franz.com> writes:

> Joe Marshall <···@ccs.neu.edu> writes:
>
> > and when *every* vendor leaves it on by default because
> > the users want it that way,
> 
> This will not likely happen.  Tail call merging is not cost-free.
> It saves stack space, but unless compensated for, it costs debug
> information.

What an odd way to say that you agree with Joe... (At least, I think so.)

I took his comment as more like a friendly variant of the "when Hell
freezes over" metaphor: He seemed to be saying that talk of
standardization was just needless since this doesn't need to be
standardized except in the unlikely case that no one cares to
voluntarily diverge while (as now) they have the chance to.

> > *then* we should think about standardizing
> > it.  Otherwise we'll just have useless bickering.
> 
> Oh, but useless bickering is so much fun ...

Ah... never mind then.  Carry on.
From: Duane Rettig
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <465gvulhw.fsf@franz.com>
Kent M Pitman <······@nhplace.com> writes:

> Duane Rettig <·····@franz.com> writes:
> 
> > Joe Marshall <···@ccs.neu.edu> writes:
> >
> > > and when *every* vendor leaves it on by default because
> > > the users want it that way,
> > 
> > This will not likely happen.  Tail call merging is not cost-free.
> > It saves stack space, but unless compensated for, it costs debug
> > information.
> 
> What an odd way to say that you agree with Joe... (At least, I think so.)
> 
> I took his comment as more like a friendly variant of the "when Hell
> freezes over" metaphor:

I never assume such a metaphor; even back in the early days of C
when we would see such constructs allowed by this great new macro
preprocessor concept:

#define EVER ;;
 ...

  for(EVER) {
      ...
  }

and

#define HELLFREEZESOVER 0
#define when if

  when(HELLFREEZESOVER) {
      ...
  }

we would still inevitably get some clueless individual come in
and say "what are we really trying to do here?"  (Note I said
clueless, not stupid; usually it was the brighter  minds that
displayed such cluelessness, and probably for good reason).

> He seemed to be saying that talk of
> standardization was just needless since this doesn't need to be
> standardized except in the unlikely case that no one cares to
> voluntarily diverge while (as now) they have the chance to.

The first part of his statement:

 | When *every* version of Common Lisp has general tail-call
 | optimization,

was hard, based on our tendency to be reticent to open up
the formal standardization process, but it definitely would be
a desirable thing, and not necessarily unlikely, given market
pressure that might be brought to bear, whether or not such
behavior is then codified in a standard.

So it was the part of his statement that you quoted that I
wanted to agree was the only "hellfreezesover" piece.  It
is not really a question of whether the vendors would
make such changes that is unlikely, it is the question of
whether users would ever agree to a specific set of defaults.

> > > *then* we should think about standardizing
> > > it.  Otherwise we'll just have useless bickering.
> > 
> > Oh, but useless bickering is so much fun ...
> 
> Ah... never mind then.  Carry on.

Will do.  Glad to oblige.

-- 
Duane Rettig    ·····@franz.com    Franz Inc.  http://www.franz.com/
555 12th St., Suite 1450               http://www.555citycenter.com/
Oakland, Ca. 94607        Phone: (510) 452-2000; Fax: (510) 452-0182   
From: Joe Marshall
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <7k1bt5ff.fsf@ccs.neu.edu>
Duane Rettig <·····@franz.com> writes:

>> He seemed to be saying that talk of
>> standardization was just needless since this doesn't need to be
>> standardized except in the unlikely case that no one cares to
>> voluntarily diverge while (as now) they have the chance to.
>
> The first part of his statement:
>
>  | When *every* version of Common Lisp has general tail-call
>  | optimization,
>
> was hard, based on our tendency to be reticent to open up
> the formal standardization process, but it definitely would be
> a desirable thing, and not necessarily unlikely, given market
> pressure that might be brought to bear, whether or not such
> behavior is then codified in a standard.
>
> So it was the part of his statement that you quoted that I
> wanted to agree was the only "hellfreezesover" piece.  It
> is not really a question of whether the vendors would
> make such changes that is unlikely, it is the question of
> whether users would ever agree to a specific set of defaults.

Actually, I wasn't really expressing an opinion of absolute liklihood,
just relative liklihood.
From: Pascal Costanza
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <bqqb7k$omu$2@f1node01.rhrz.uni-bonn.de>
Joe Marshall wrote:

> My personal opinion is that implementations of Common Lisp that can
> not support this are missing an *enhancement* to the language that I
> find critical.
> 
> However, I don't think it is necessary to force this enhancement into
> the standard.

OK, I strongly agree. Thanks for your detailed response.


Pascal

-- 
Pascal Costanza               University of Bonn
···············@web.de        Institute of Computer Science III
http://www.pascalcostanza.de  R�merstr. 164, D-53117 Bonn (Germany)
From: Mario S. Mommer
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <fzy8tsigs4.fsf@cupid.igpm.rwth-aachen.de>
Marco Antoniotti <·······@cs.nyu.edu> writes:
> Michael Manti wrote:
> 
> > P.S. Yes, per Pascal Costanza, Common Lisp with proper tail
> > recursion and call/cc WOULD be a better language."
> 
> OTOH Scheme with DEFSTRUCT would be a better language (sorry, I
> couldn't resist) :)

Quite a few schemers seem to think that it would be a better language
if it only had a fixed argument evaluation order :)
From: Tim Josling
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <bqkcdu$t33$1@possum.melbpc.org.au>
Ray Dillinger wrote:
> 
> Basically, CL has the problems of a big-ass system language; 
> complicated interfaces, difficult to learn, module and OO 
> stuff you have to know to get much of anywhere, etc.


You may be right about this, but my own experience was that Lisp was 
easier to learn than Scheme.

Lisp is big but you can ignore the bits you are not interested in such 
as (for me so far) CLOS and modules.

After a year of scheme (MIT Scheme) and a week of Lisp (CMUCL) I am in 
programming heaven.

To me it looks like Scheme is to Lisp as Pascal is to C. More correct 
and pure but harder to use for real work in my experience.

Tim Josling
From: Michael Livshin
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <s3brqqw5dp.fsf@laredo.verisity.com.cmm>
Tim Josling <····························@nospam.com> writes:

> To me it looks like Scheme is to Lisp as Pascal is to C. More
> correct

how exactly is Scheme more correct than Lisp?
or, for that matter, how exactly is Pascal more correct than C?

-- 
Incrementally extended heuristic algorithms tend inexorably toward the
incomprehensible.
From: Tayss
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <5627c6fa.0312041305.4cac63f0@posting.google.com>
Ray Dillinger <····@sonic.net> wrote in message news:<·················@sonic.net>...
> Common Lisp and Scheme have problems in very different 
> ways, for very different reasons.  I think there's plenty 
> of space in which you can do better than both languages 
> on most things.

The weird thing is, no one talks about naming.  Scheme's naming
conventions has always struck me as its big advantage.

That's part of the reason I'm curious what good language designers
would make more "scheme-like," since the other obvious Schemish things
don't seem quite so appropriate to CL.
From: Ray Dillinger
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <3FCFAD04.744106B5@sonic.net>
Tayss wrote:
> 
> Ray Dillinger <····@sonic.net> wrote in message news:<·················@sonic.net>...
> > Common Lisp and Scheme have problems in very different
> > ways, for very different reasons.  I think there's plenty
> > of space in which you can do better than both languages
> > on most things.
> 
> The weird thing is, no one talks about naming.  Scheme's naming
> conventions has always struck me as its big advantage.
> 
> That's part of the reason I'm curious what good language designers
> would make more "scheme-like," since the other obvious Schemish things
> don't seem quite so appropriate to CL.

I like them too, and I hope that any new lisps coming along 
adopt them as a good idea (Paul Graham?  You listening?  I 
include Arc here). 

They're pretty simple, really, and I think that it started 
outside scheme, with the "P convention" (which you still 
see in CL, by the way).  Scheme was able to switch to the 
question mark and exclamation point, and make it more 
consistent, because they didn't feel compelled to have 
backward compatibility.

			Bear
From: Pascal Costanza
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <bqocca$a6u$1@newsreader2.netcologne.de>
Tayss wrote:

> Ray Dillinger <····@sonic.net> wrote in message news:<·················@sonic.net>...
> 
>>Common Lisp and Scheme have problems in very different 
>>ways, for very different reasons.  I think there's plenty 
>>of space in which you can do better than both languages 
>>on most things.
> 
> The weird thing is, no one talks about naming.  Scheme's naming
> conventions has always struck me as its big advantage.
> 
> That's part of the reason I'm curious what good language designers
> would make more "scheme-like," since the other obvious Schemish things
> don't seem quite so appropriate to CL.

I don't think that for anything Scheme and CL do differently you will 
find an example on which everybody agrees that one way is clearly better 
than the other.

Wrt to naming conventions: I don't like the use of ! for side effects 
because I simply don't share the notion that side effects are evil (I am 
exaggerating a bit). Why would I want to mark my code in a special way 
to indicate features that might be totally irrelevant to the domain I am 
trying to model? [1]

The ? convention is neat, but not essential. The -p convention works 
equally well. I recall reading arguments that -p is better because it 
makes talking about code easier. You naturally speak and hear the -p 
convention, while it is a little bit unnatural to say "question mark" as 
part of an identifier.

Just my 0.02�


Pascal

[1] It seems to me that the approach to build domain-specific 
abstractions is more widely used in Common Lisp than in Scheme where 
people tend to prefer in a functional style. At least that's my 
impression as a Scheme outsider.

-- 
Tyler: "How's that working out for you?"
Jack: "Great."
Tyler: "Keep it up, then."
From: Tayss
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <5627c6fa.0312042301.7d3c6314@posting.google.com>
Pascal Costanza <········@web.de> wrote in message news:<············@newsreader2.netcologne.de>...
> The ? convention is neat, but not essential. The -p convention works 
> equally well. I recall reading arguments that -p is better because it 
> makes talking about code easier. You naturally speak and hear the -p 
> convention, while it is a little bit unnatural to say "question mark" as 
> part of an identifier.

The problem is it's not just -p:
zerop
zeri-p           ;after (defstruct zeri ...)
wild-pathname-p
string-lessp     ;so explaineth cltl2 ch.6

Aaugh!

But -p is likely easier for westerners to pronounce.  I remember
reading a post here about how Chinese is more comfortable with using
tones to distinguish words, so the rising inflection for questions
would be fun for me to try out.

Here's a fun thread with a few pros/cons:
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&safe=off&threadm=lzsna9d9a9.fsf%40bzzzt.fix.no&rnum=1&prev=/groups%3Fhl%3Den%26lr%3D%26ie%3DUTF-8%26oe%3DUTF-8%26safe%3Doff%26selm%3Dlzsna9d9a9.fsf%2540bzzzt.fix.no


> Wrt to naming conventions: I don't like the use of ! for side effects 
> because I simply don't share the notion that side effects are evil (I am 
> exaggerating a bit). Why would I want to mark my code in a special way 
> to indicate features that might be totally irrelevant to the domain I am 
> trying to model? [1]

CL's optionally non-consing n prefix seems not to be analogous to
Scheme's !.  I'm not too sure I'd want to bias CL with all that
functional stuff either, so we can forget about !.

But I don't like the little things like set/setf/setq.  (Ask a newbie
which one he'd think a programmer normally uses.)  Sure, CL has
first/rest, but setf kind of disturbs me.

defconstant/defun/defparameter/defvar?  defconst/defparam?
From: Pascal Costanza
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <bqpjcr$k5q$1@newsreader2.netcologne.de>
Tayss wrote:

> Pascal Costanza <········@web.de> wrote in message news:<············@newsreader2.netcologne.de>...
> 
>>The ? convention is neat, but not essential. The -p convention works 
>>equally well. I recall reading arguments that -p is better because it 
>>makes talking about code easier. You naturally speak and hear the -p 
>>convention, while it is a little bit unnatural to say "question mark" as 
>>part of an identifier.
> 
> 
> The problem is it's not just -p:
> zerop
> zeri-p           ;after (defstruct zeri ...)
> wild-pathname-p
> string-lessp     ;so explaineth cltl2 ch.6
> 
> Aaugh!

Just try to trust your intuition. I mean it. Intuition doesn't work that 
badly. There are only two cases that worry me: what defstruct produces, 
and member instead of memberp. Otherwise, I have never had any problems.

> But I don't like the little things like set/setf/setq.  (Ask a newbie
> which one he'd think a programmer normally uses.)  Sure, CL has
> first/rest, but setf kind of disturbs me.

set is deprecated. (setq a b) is an abbreviation for (set (quote a) b). 
It wouldn't be much of an abbreviation for (set 'a b), but setq was 
invented before the invention of the ' readmacro. setf means "set form" 
because you can pass any form as the first argument (in theory). (I 
guess historically it was meant to mean "set field", but I like the idea 
of "set form" better.)

> defconstant/defun/defparameter/defvar?  defconst/defparam?

You have much more of those irregularities in natural languages. Do they 
equally worry you? Or would you rather want to talk in Esperanto.

I guess one gut reaction could be: "but programming languages are 
different".

Are they?


Pascal

-- 
Tyler: "How's that working out for you?"
Jack: "Great."
Tyler: "Keep it up, then."
From: Pascal Bourguignon
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <87llprblya.fsf@thalassa.informatimago.com>
Pascal Costanza <········@web.de> writes:
> Just try to trust your intuition. I mean it. Intuition doesn't work
> that badly. There are only two cases that worry me: what defstruct
> produces, and member instead of memberp. Otherwise, I have never had
> any problems.

Ah! But member does not return a mere boolean!

(second (member :one '(:three 3 :two 2 :one 1 :zero 0)))
==> 1

-- 
__Pascal_Bourguignon__                              .  *   * . * .* .
http://www.informatimago.com/                        .   *   .   .*
                                                    * .  . /\ ( .  . *
Living free in Alaska or in Siberia, a               . .  / .\   . * .
grizzli's life expectancy is 35 years,              .*.  / *  \  . .
but no more than 8 years in captivity.                . /*   o \     .
http://www.theadvocates.org/                        *   '''||'''   .
                                                    ******************
From: Pascal Costanza
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <bqpmrt$q0g$2@newsreader2.netcologne.de>
Pascal Bourguignon wrote:

> Pascal Costanza <········@web.de> writes:
> 
>>Just try to trust your intuition. I mean it. Intuition doesn't work
>>that badly. There are only two cases that worry me: what defstruct
>>produces, and member instead of memberp. Otherwise, I have never had
>>any problems.
> 
> 
> Ah! But member does not return a mere boolean!
> 
> (second (member :one '(:three 3 :two 2 :one 1 :zero 0)))
> ==> 1

Right.


Pascal

-- 
Tyler: "How's that working out for you?"
Jack: "Great."
Tyler: "Keep it up, then."
From: Sashank Varma
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <none-2ECBBE.12370605122003@news.vanderbilt.edu>
In article <············@newsreader2.netcologne.de>,
 Pascal Costanza <········@web.de> wrote:

> Tayss wrote:
> > But I don't like the little things like set/setf/setq.  (Ask a newbie
> > which one he'd think a programmer normally uses.)  Sure, CL has
> > first/rest, but setf kind of disturbs me.
> 
> set is deprecated. (setq a b) is an abbreviation for (set (quote a) b). 
> It wouldn't be much of an abbreviation for (set 'a b), but setq was 
> invented before the invention of the ' readmacro.

It was an abbreviation back in the days before lexical variables were
completely assimilated, right?  Nowadays the two forms have different
semantics:

? (let ((a 1))
    (set (quote a) 5)
    a)
1
? (let ((a 1))
    (setq a 5)
    a)
5
? 

> setf means "set form" 
> because you can pass any form as the first argument (in theory).

Getting back to the original complaint, you can think of SETF as
the general case and SET and SETQ as special cases:

(set (quote *a*) 5) --> (setf (symbol-value (quote *a*)) 5)  ; special 
vars

(setq *a* 5)        --> (setf *a* 5)                         ; lexical 
vars
From: Tayss
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <5627c6fa.0312051455.2e7bc4@posting.google.com>
Pascal Costanza <········@web.de> wrote in message news:<············@newsreader2.netcologne.de>...
> You have much more of those irregularities in natural languages. Do they 
> equally worry you? Or would you rather want to talk in Esperanto.

Definitely, if I knew a language could stay simple.  We spend too much
of our lives learning how to communicate convincingly.  People
actually judge us on this, as a proxy to understanding.

Maybe there would be interesting literature again, as writers fill the
new language with it.  (Which would probably mutate the language...)

In particular, I don't like he/she in American English, and the
spelling is painful for most people.  Idioms abound.  It kind of
scares me how much of peoples' lives are spent being beaten into them
that good language is all-important.  (These same people would be
aghast if Rhetoric were a common university major, though it's
essentially the same thing.)

But I guess if we didn't have language as a way to impress others,
we'd just use something else like clothing or voice.


> I guess one gut reaction could be: "but programming languages are 
> different".
> 
> Are they?

I guess you're right.  Maybe lisp shouldn't be approached as a
carefully controlled environment, but as a living being.
From: Rahul Jain
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <87he0d3l7q.fsf@rice.edu>
··········@yahoo.com (Tayss) writes:

> But I guess if we didn't have language as a way to impress others,
> we'd just use something else like clothing or voice.

I don't think "language correctness" is really in and of itself a way to
impress others. I approach language correctness as a matter of first
knowing clearly what exactly you are trying to communicate. Then you
must clearly communicate it to others.

To do that, you need to be very accurate about how your sentences are
constructed. Not only do you want to create no unintentional ambiguity
(intentional ambiguity can be very impressive, as well), but you want
the emphasis of the statement to be conveyed by the sentence structure.
The other person then clearly gets your point, not only in denotation,
but connotation as well. He/she is clearly directed to the points that
you consider to be salient so that any time spent on further
communication can address those first.

When you do this, you expend a minimum of the *other* person's time and
energy in order to get your point across. The fact that you have so much
respect their time and energy enough to do this will tend to impress
them.

--
Rahul
From: Joe Marshall
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <1xrj2s6i.fsf@ccs.neu.edu>
Pascal Costanza <········@web.de> writes:

> Wrt to naming conventions: I don't like the use of ! for side effects
> because I simply don't share the notion that side effects are evil (I
> am exaggerating a bit). Why would I want to mark my code in a special
> way to indicate features that might be totally irrelevant to the
> domain I am trying to model? [1]

In my current project I use the `!' on side-effecting functions
because I'm doing programming with time-dependent transactional views.
Side-effecting an object generates a new object version, and will
cause a development split if you are not at the branch tip.
Additionally, you may not have the database open in read-write mode,
or you may not have sufficient privilege, so it could raise an
exception.  

Also, when you modify the database you should be careful to ensure the
integrity of what you modify.  For non side effecting functions,
*nothing* you do can corrupt the database, so you can use them freely
wherever or whenever you want.

The `!' is an alert to the programmer that he should either ensure
that the modification will succeed or that an error handler is in
place.  Side effects aren't *evil*, but in this project they have
far-reaching consequences, so the `!' is there to make you take
notice.
From: Pascal Costanza
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <bqqb3b$omu$1@f1node01.rhrz.uni-bonn.de>
Joe Marshall wrote:

> The `!' is an alert to the programmer that he should either ensure
> that the modification will succeed or that an error handler is in
> place.  Side effects aren't *evil*, but in this project they have
> far-reaching consequences, so the `!' is there to make you take
> notice.

Yes, I agree that this is a very good example for a "domain-specific" 
naming convention.


Pascal

-- 
Pascal Costanza               University of Bonn
···············@web.de        Institute of Computer Science III
http://www.pascalcostanza.de  R�merstr. 164, D-53117 Bonn (Germany)
From: Rahul Jain
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <87oeul3llf.fsf@rice.edu>
Pascal Costanza <········@web.de> writes:

> Yes, I agree that this is a very good example for a "domain-specific"
> naming convention.

But it's extremely important in those domains. If the language itself is
suboptimal for those domains, I think that's a bad thing.
From: Pascal Costanza
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <bqtq0d$40b$1@newsreader2.netcologne.de>
Rahul Jain wrote:
> Pascal Costanza <········@web.de> writes:
> 
>>Yes, I agree that this is a very good example for a "domain-specific"
>>naming convention.
> 
> But it's extremely important in those domains. If the language itself is
> suboptimal for those domains, I think that's a bad thing.

We are talking about the same language that is extremely well-suited for 
embedding domain-specific extensions, aren't we?

So what's the problem?


Pascal

-- 
Tyler: "How's that working out for you?"
Jack: "Great."
Tyler: "Keep it up, then."
From: Rahul Jain
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <87he0dxyxk.fsf@nyct.net>
Pascal Costanza <········@web.de> writes:

> We are talking about the same language that is extremely well-suited for
> embedding domain-specific extensions, aren't we?
>
> So what's the problem?

Why should the language have to be extended so that applications which
use data structures more than once are possible to be sanely written? If
there's no indication of whether a function is allowed to destructively
modify its args or not, how can you "extend" those functions so that you
have one version that is possibly destructive and one that is not?

Whether you provide both types of functions in your own domain-specific
extension is up to the needs of that domain and whether you'd like to
support further extension.

--
Rahul Jain
From: Pascal Costanza
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <bqvdho$775$1@newsreader2.netcologne.de>
Rahul Jain wrote:

> Pascal Costanza <········@web.de> writes:
> 
> 
>>We are talking about the same language that is extremely well-suited for
>>embedding domain-specific extensions, aren't we?
>>
>>So what's the problem?
> 
> 
> Why should the language have to be extended so that applications which
> use data structures more than once are possible to be sanely written? If
> there's no indication of whether a function is allowed to destructively
> modify its args or not, how can you "extend" those functions so that you
> have one version that is possibly destructive and one that is not?

I can't quite follow you. Can you name an example of a function that has 
this particular problem?


Pascal

-- 
Tyler: "How's that working out for you?"
Jack: "Great."
Tyler: "Keep it up, then."
From: Rahul Jain
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <87vfoswrz0.fsf@nyct.net>
Pascal Costanza <········@web.de> writes:

> Rahul Jain wrote:
>
>> Pascal Costanza <········@web.de> writes:
>>
>>>We are talking about the same language that is extremely well-suited for
>>>embedding domain-specific extensions, aren't we?
>>>
>>>So what's the problem?
>> Why should the language have to be extended so that applications which
>> use data structures more than once are possible to be sanely written? If
>> there's no indication of whether a function is allowed to destructively
>> modify its args or not, how can you "extend" those functions so that you
>> have one version that is possibly destructive and one that is not?
>
> I can't quite follow you. Can you name an example of a function that has
> this particular problem?

If there were no distinction made between append and nconc, for example,
many applications would need to unnecessarily traverse the input lists
an extra time to make a copy.

Instead of
(append l1 l2 l3)
we would have to do
(nconc (copy-list l1) (copy-list l2) l3)

This is even more of a problem when dealing with functions that may not
even need to modify the input lists in order to have non-consing
behavior when given certain parameters, such as delete.

--
Rahul Jain
From: Pascal Costanza
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <bqvj12$hki$1@newsreader2.netcologne.de>
Rahul Jain wrote:
> Pascal Costanza <········@web.de> writes:
> 
> 
>>Rahul Jain wrote:
>>
>>
>>>Pascal Costanza <········@web.de> writes:
>>>
>>>
>>>>We are talking about the same language that is extremely well-suited for
>>>>embedding domain-specific extensions, aren't we?
>>>>
>>>>So what's the problem?
>>>
>>>Why should the language have to be extended so that applications which
>>>use data structures more than once are possible to be sanely written? If
>>>there's no indication of whether a function is allowed to destructively
>>>modify its args or not, how can you "extend" those functions so that you
>>>have one version that is possibly destructive and one that is not?
>>
>>I can't quite follow you. Can you name an example of a function that has
>>this particular problem?
> 
> 
> If there were no distinction made between append and nconc, for example,
> many applications would need to unnecessarily traverse the input lists
> an extra time to make a copy.

OK, I think there is a misunderstanding here. We were originally talking 
about the naming convention to use "!" for side-effecting functions, not 
about the importance of having both destructive and non-destructive 
versions of certain functions.


Pascal

-- 
Tyler: "How's that working out for you?"
Jack: "Great."
Tyler: "Keep it up, then."
From: Rahul Jain
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <87r7zgwqdf.fsf@nyct.net>
Pascal Costanza <········@web.de> writes:

> OK, I think there is a misunderstanding here. We were originally talking
> about the naming convention to use "!" for side-effecting functions, not
> about the importance of having both destructive and non-destructive
> versions of certain functions.

Right, I gathered about that much, but you were opposed to labelling
destructuve functions as such. Now that I think about it, I see where
the concept of domain-specific extensions come in. In some domains it
makes no sense to non-destructively manipulate a data structure. For
example, a stream. The most you can non-destructively do to it is
peek-char. Other than that, it's obvious that there is no way to
non-destructively manipulate it, so it gives the user no more
information to label all the other functions with a "!" or other
destructive-function marker.

--
Rahul Jain
From: Tayssir John Gabbour
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <866764be.0312171407.e940083@posting.google.com>
Joe Marshall <···@ccs.neu.edu> wrote in message news:<············@ccs.neu.edu>...
> The `!' is an alert to the programmer that he should either ensure
> that the modification will succeed or that an error handler is in
> place.  Side effects aren't *evil*, but in this project they have
> far-reaching consequences, so the `!' is there to make you take
> notice.

Incidentally, now this topic is up, I realize that lots of languages
mark state change with =, like:
blah = "joe"

So ! should not necessarily be interpreted as a warning, but as a very
common marker.

Also, Scheme's function def syntax:
(define (blah x y) ..)
is nice, in the sense that cut & pasting a function+args is easier and
less error-prone.  I have to consciously munge with the parentheses a
bit in lisp.
From: Thomas F. Burdick
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <xcvad5q6f4o.fsf@famine.OCF.Berkeley.EDU>
···········@yahoo.com (Tayssir John Gabbour) writes:

> Also, Scheme's function def syntax:
> (define (blah x y) ..)
> is nice, in the sense that cut & pasting a function+args is easier and
> less error-prone.  I have to consciously munge with the parentheses a
> bit in lisp.

Huh?  How is that easier to cut&paste?  In scheme it's one sexp to get
both function name and lambda list -- in common lisp it's two.  That's
M-C-k or M-2 M-C-k, both pretty easy, I don't see any munging going on.

One thing I don't like about schemelike syntax here is that it's not
very grepable.  It *is* grepable, but it's easier to type "def\w* foo"
without pausing, than "define\(-\|\w\)? (?foo".  Or maybe it's just me :-)

-- 
           /|_     .-----------------------.                        
         ,'  .\  / | No to Imperialist war |                        
     ,--'    _,'   | Wage class war!       |                        
    /       /      `-----------------------'                        
   (   -.  |                               
   |     ) |                               
  (`-.  '--.)                              
   `. )----'                               
From: David Golden
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <jO8Eb.1308$HR.3809@news.indigo.ie>
Thomas F. Burdick wrote:

> ···········@yahoo.com (Tayssir John Gabbour) writes:
> 
>> Also, Scheme's function def syntax:
>> (define (blah x y) ..)
>> is nice, in the sense that cut & pasting a function+args is easier and
>> less error-prone.  I have to consciously munge with the parentheses a
>> bit in lisp.
> 
> Huh?  How is that easier to cut&paste?

Means the definition looks the same as the call - so you can copy
(blah x y) in definition to (blah x y) in call.  

Less than world-shattering if you're using an editor with autocomplete,
but preserving the visual similarity might perhaps help when reading 
printed source (though it probably wouldn't help much unless people have
used the same names for variables that are arguments in the call as argument
names in the definition - if they have been cut+pasting, they might well
have done that, of course :-) ...)
From: Pascal Costanza
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <brqkn6$rud$1@newsreader2.netcologne.de>
Tayssir John Gabbour wrote:

> Joe Marshall <···@ccs.neu.edu> wrote in message news:<············@ccs.neu.edu>...
> 
>>The `!' is an alert to the programmer that he should either ensure
>>that the modification will succeed or that an error handler is in
>>place.  Side effects aren't *evil*, but in this project they have
>>far-reaching consequences, so the `!' is there to make you take
>>notice.
> 
> 
> Incidentally, now this topic is up, I realize that lots of languages
> mark state change with =, like:
> blah = "joe"

What about this?

i++;

Where's the "=" here?

> So ! should not necessarily be interpreted as a warning, but as a very
> common marker.

No, it goes farther than what you seem to think. As far as I understand 
it, Schemers want to accompany each and every form with side effects 
with a bang.

> Also, Scheme's function def syntax:
> (define (blah x y) ..)
> is nice, in the sense that cut & pasting a function+args is easier and
> less error-prone.  I have to consciously munge with the parentheses a
> bit in lisp.

What about?

(define (foo x . rest) ..)


Pascal

-- 
Tyler: "How's that working out for you?"
Jack: "Great."
Tyler: "Keep it up, then."
From: Tayssir John Gabbour
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <866764be.0312171807.7773c3d9@posting.google.com>
Pascal Costanza <········@web.de> wrote in message news:<············@newsreader2.netcologne.de>...
> Tayssir John Gabbour wrote:
> > Also, Scheme's function def syntax:
> > (define (blah x y) ..)
> > is nice, in the sense that cut & pasting a function+args is easier and
> > less error-prone.  I have to consciously munge with the parentheses a
> > bit in lisp.
> 
> What about?
> 
> (define (foo x . rest) ..)

I'm not trying to make this a lisp vs. scheme pissing contest.  My
comments are more in the context of, "Hey this is something nice to
steal."  So I'm thinking:
(defun (foo x &rest stuff) ...)  ;easier to cut & paste

I don't yet see any lossage, especially since this shouldn't kill
reverse compat because the 1st arg to defun won't be an atom.


> > So ! should not necessarily be interpreted as a warning, but as a very
> > common marker.
> 
> No, it goes farther than what you seem to think. As far as I understand 
> it, Schemers want to accompany each and every form with side effects 
> with a bang.

Again, I don't care what Schemers want.  Why is it always about Scheme
vs. Lisp?  The only time they "invaded" here recently was when that
troll visited.  Screw 'em, this is about small syntactic issues.

I'll mess around with set!/set*! instead of setf/psetf in my code, see
if it makes my code unreadable or something.  There is the danger
that, along with #', lisp could become a linenoise language.  So maybe
it's not a hot idea.


> > Incidentally, now this topic is up, I realize that lots of languages
> > mark state change with =, like:
> > blah = "joe"
> 
> What about this?
> i++;
> Where's the "=" here?

I never liked all that ++i i++ junk.  It works completely unlike -i in
those languages.
From: Pascal Costanza
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <brr7jd$qii$1@newsreader2.netcologne.de>
Tayssir John Gabbour wrote:
> Pascal Costanza <········@web.de> wrote in message news:<············@newsreader2.netcologne.de>...
> 
>>Tayssir John Gabbour wrote:
>>
>>>Also, Scheme's function def syntax:
>>>(define (blah x y) ..)
>>>is nice, in the sense that cut & pasting a function+args is easier and
>>>less error-prone.  I have to consciously munge with the parentheses a
>>>bit in lisp.
>>
>>What about?
>>
>>(define (foo x . rest) ..)
> 
> 
> I'm not trying to make this a lisp vs. scheme pissing contest.

Me neither. Seriously not.

> My
> comments are more in the context of, "Hey this is something nice to
> steal."  So I'm thinking:
> (defun (foo x &rest stuff) ...)  ;easier to cut & paste

I have understood your statement above that it easier to cut & paste 
between definiton sites and call sites. That would be nice. What I 
wanted to point out is that this can only work for the trivial case of a 
fixed-length, purely positional argument list.

So both (define (x .z) ..) and (defun (x &rest z) ..) would be similar 
in this regard. (See, no Lisp vs. Scheme thing. ;)

> I don't yet see any lossage, especially since this shouldn't kill
> reverse compat because the 1st arg to defun won't be an atom.

This means that it would be easy to add this as a macro.

>>>So ! should not necessarily be interpreted as a warning, but as a very
>>>common marker.
>>
>>No, it goes farther than what you seem to think. As far as I understand 
>>it, Schemers want to accompany each and every form with side effects 
>>with a bang.
> 
> Again, I don't care what Schemers want.  Why is it always about Scheme
> vs. Lisp?  The only time they "invaded" here recently was when that
> troll visited.  Screw 'em, this is about small syntactic issues.

Again, this is not foremostly a Scheme vs. Lisp issue, although 
admittedly closer.

It seems to me that the "!" convention is there to signal side effects, 
because they hurt an otherwise purely applicative program.

I don't like this because I strongly believe in a) multi-paradigm 
approaches and b) domain-oriented programming - a nice term recently 
coined by Dave Thomas and Brian Barry - see 
http://doi.acm.org/10.1145/949344.949346

So my objection is mainly that the naming convention is important for 
one single paradigm, but not at all for others. Why should it play such 
a central role then? Why would I want to see it in a program that isn't 
applicative at all?

Why not some completely arbitrary naming conventions for other 
properties that might be interesting to some? For example, mark all 
non-reentrant functions with "&". Mark all reader functions with "<". 
Mark all generic functions with ·@". Mark all functions that spawn new 
threads with "^". Mark all variables that contain strings with "$". ;)

To me, the "!" and "?" conventions are equally arbitrary as those other 
imaginary examples. It seems to me that they only make sense when you 
"believe" in functional programming.

>>>Incidentally, now this topic is up, I realize that lots of languages
>>>mark state change with =, like:
>>>blah = "joe"
>>
>>What about this?
>>i++;
>>Where's the "=" here?
> 
> I never liked all that ++i i++ junk.  It works completely unlike -i in
> those languages.

...but this means that those languages don't follow a convention here. 
That was my only point in mentioning that example. Scheme requires more 
in this regard. See 
http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-4.html#%25_sec_1.3.5


Pascal

-- 
Tyler: "How's that working out for you?"
Jack: "Great."
Tyler: "Keep it up, then."
From: Henrik Motakef
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <3fe19313_1@news.arcor-ip.de>
Tayssir John Gabbour wrote:
>>What about?
>>
>>(define (foo x . rest) ..)
> 
> 
> I'm not trying to make this a lisp vs. scheme pissing contest.  My
> comments are more in the context of, "Hey this is something nice to
> steal."  So I'm thinking:
> (defun (foo x &rest stuff) ...)  ;easier to cut & paste
> 
> I don't yet see any lossage, especially since this shouldn't kill
> reverse compat because the 1st arg to defun won't be an atom.

The first argument to defun already doesn't have to be an atom in Common 
Lisp. It is a "function name", defined as "a symbol or a list (setf 
symbol)".
From: Kalle Olavi Niemitalo
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <87ptel4ss5.fsf@Astalo.kon.iki.fi>
Henrik Motakef <············@henrik-motakef.de> writes:

> The first argument to defun already doesn't have to be an atom in
> Common Lisp. It is a "function name", defined as "a symbol or a list
> (setf symbol)".

The (setf symbol) format could take precedence over the
(function-name . lambda-list) format.  Portable programs can't
redefine SETF anyway.

I think such a scheme would be confusing, though.
From: Pascal Bourguignon
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <87ekv1ioab.fsf@thalassa.informatimago.com>
Kalle Olavi Niemitalo <···@iki.fi> writes:

> Henrik Motakef <············@henrik-motakef.de> writes:
> 
> > The first argument to defun already doesn't have to be an atom in
> > Common Lisp. It is a "function name", defined as "a symbol or a list
> > (setf symbol)".
> 
> The (setf symbol) format could take precedence over the
> (function-name . lambda-list) format.  Portable programs can't
> redefine SETF anyway.
> 
> I think such a scheme would be confusing, though.

(defmacro define (signature &body body)
    (if (atom signature)
      `(defparameter ,signature ,@body)
      `(defun ,(car signature) ,(cdr signature) ,@body)))

[79]> (define bar 2)
BAR
[80]> bar
2
[81]> (define (foo x y) (+ bar x y))
FOO
[82]> (foo 1 3)
6


I don't see what would be confusing.
And I don't see the need to use DEFUN to do what is wanted here.


-- 
__Pascal_Bourguignon__                              .  *   * . * .* .
http://www.informatimago.com/                        .   *   .   .*
There is no worse tyranny than to force             * .  . /\  (   . *
a man to pay for what he does not                    . .  / .\   . * .
want merely because you think it                    .*.  / *  \  . .
would be good for him. -- Robert Heinlein             . /*   o \     .
http://www.theadvocates.org/                        *   '''||'''   .
SCO Spam-magnet: ··········@sco.com                 ******************
From: Rahul Jain
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <874qvxsf55.fsf@nyct.net>
Pascal Bourguignon <····@thalassa.informatimago.com> writes:

> (defmacro define (signature &body body)
>     (if (atom signature)
>       `(defparameter ,signature ,@body)
>       `(defun ,(car signature) ,(cdr signature) ,@body)))

Why can't I DEFINE variables, constants, macros, classes, structures,
sql tables, etc?

> [79]> (define bar 2)
> BAR
> [80]> bar
> 2
> [81]> (define (foo x y) (+ bar x y))
> FOO
> [82]> (foo 1 3)
> 6
>
>
> I don't see what would be confusing.
> And I don't see the need to use DEFUN to do what is wanted here.

Maybe this would work:

(define ((class foo) bar baz)
  ((slot1 ...)))

(define ((generic-function blah) foo bar))

(define ((method blah) :before (foo foo) (bar bar))
  ...)

Personally, I think not.

The typical pattern for definers in lisp is:

(<definer> <definee> [(<essential-characteristics> ...)]
  <definition> ...)

I'm using "essential" in the literal sense of characteristics that
define the essence of the definee, i.e., the superclasses
of a class, the parameters of a function or macro, etc.

This allows for a range of different types of definers that all look
similar.

-- 
Rahul Jain
·····@nyct.net
Professional Software Developer, Amateur Quantum Mechanicist
From: Pascal Bourguignon
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <8765gdieu5.fsf@thalassa.informatimago.com>
Rahul Jain <·····@nyct.net> writes:

> Pascal Bourguignon <····@thalassa.informatimago.com> writes:
> 
> > (defmacro define (signature &body body)
> >     (if (atom signature)
> >       `(defparameter ,signature ,@body)
> >       `(defun ,(car signature) ,(cdr signature) ,@body)))
> 
> Why can't I DEFINE variables, constants, macros, classes, structures,
> sql tables, etc?

Because you  have not  paid me to  program the define  macro following
your specifications!  You can send me the specifications and the money
via paypal.


-- 
__Pascal_Bourguignon__                              .  *   * . * .* .
http://www.informatimago.com/                        .   *   .   .*
There is no worse tyranny than to force             * .  . /\  (   . *
a man to pay for what he does not                    . .  / .\   . * .
want merely because you think it                    .*.  / *  \  . .
would be good for him. -- Robert Heinlein             . /*   o \     .
http://www.theadvocates.org/                        *   '''||'''   .
SCO Spam-magnet: ··········@sco.com                 ******************
From: Marco Antoniotti
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <PrGEb.76$Nq.29038@typhoon.nyu.edu>
This is a multi-part message in MIME format.
--------------050607040700050207060308
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit



Rahul Jain wrote:

> Pascal Bourguignon <····@thalassa.informatimago.com> writes:
> 
> 
>>(defmacro define (signature &body body)
>>    (if (atom signature)
>>      `(defparameter ,signature ,@body)
>>      `(defun ,(car signature) ,(cdr signature) ,@body)))
> 
> 
> Why can't I DEFINE variables, constants, macros, classes, structures,
> sql tables, etc?
> 
> 
>>[79]> (define bar 2)
>>BAR
>>[80]> bar
>>2
>>[81]> (define (foo x y) (+ bar x y))
>>FOO
>>[82]> (foo 1 3)
>>6
>>
>>
>>I don't see what would be confusing.
>>And I don't see the need to use DEFUN to do what is wanted here.
> 
> 
> Maybe this would work:
> 
> (define ((class foo) bar baz)
>   ((slot1 ...)))
> 
> (define ((generic-function blah) foo bar))
> 
> (define ((method blah) :before (foo foo) (bar bar))
>   ...)
> 
> Personally, I think not.
> 
> The typical pattern for definers in lisp is:
> 
> (<definer> <definee> [(<essential-characteristics> ...)]
>   <definition> ...)
> 
> I'm using "essential" in the literal sense of characteristics that
> define the essence of the definee, i.e., the superclasses
> of a class, the parameters of a function or macro, etc.
> 
> This allows for a range of different types of definers that all look
> similar.
> 


You mean you need this?  :)

Cheers
--
Marco





--------------050607040700050207060308
Content-Type: text/plain; x-mac-type="0"; x-mac-creator="0";
 name="definer.lisp"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="definer.lisp"

;;; -*- Mode: Lisp -*-

;;; definer.lisp --
;;; Many CL packages extend the language by adding a slew of
;;;
;;; (defsomething ...) and/or (define-something-else ...)
;;;
;;; macros.  Well, wouldn't it be nice to have a more controlled way
;;; to do that?  DEFINER is for you. A quick hack where we extend CL
;;; to define more complex definition forms.

;;; Copyright (c) 2003 Marco Antoniotti, All rigths reserved.
;;;
;;; Permission to use, modify, and redistribute this code is hereby
;;; granted.
;;; The code is provided AS IS with NO warranty whatsoever. The author
;;; will not be held liable etc etc etc etc etc.



(defpackage "CL.EXT.SYNTAX.DEFINER" (:use "COMMON-LISP")
  (:export
   "DEF"
   "BUILD-DEFINITION-FORM"))

(in-package "CL.EXT.SYNTAX.DEFINER")


(defgeneric build-definition-form (what name definition-forms &optional prefix-options))

(defmacro def (what name &rest definition-forms)
  (build-definition-form what name definition-forms))


;;; Basic definition forms for functions, methods and macros.
;;; Now you say:
;;;
;;;	(def function foo (x) (+ x 42))
;;;
;;; and
;;;
;;;	(def macro foo (y) `(list ,y 42))
;;;
;;; and
;;;
;;;	(def generic bar (x) (:method ((x string)) ...))
;;;
;;; and
;;;
;;;	(def method bar :before ((x symbol)) ...)

(defmethod build-definition-form ((what (eql 'function))
                                  (name symbol)
                                  definition-forms
                                  &optional prefix-options)
  `(defun ,name ,@definition-forms))


(defmethod build-definition-form ((what (eql 'macro))
                                  (name symbol)
                                  definition-forms
                                  &optional prefix-options)
  `(defmacro ,name ,@definition-forms))


(defmethod build-definition-form ((what (eql 'generic))
                                  (name symbol)
                                  definition-forms
                                  &optional prefix-options)
  `(defun ,name ,@definition-forms))


(defmethod build-definition-form ((what (eql 'method))
                                  (name symbol)
                                  definition-forms
                                  &optional prefix-options)
  (if (listp (first definition-forms))
      `(defmethod ,name ,@definition-forms)
      (let ((arglist-pos (position-if #'listp definition-forms)))
        (if arglist-pos
            `(defmethod ,name
                        ,@(subseq definition-forms 0 arglist-pos)
                        ,@(subseq definition-forms arglist-pos))
            (error 'program-error)))))


;;; Classes
;;; Now you say:
;;;
;;;	(def class reptilian (animal) ...)

(defmethod build-definition-form ((what (eql 'class))
                                  (name symbol)
                                  definition-forms
                                  &optional prefix-options)
  `(defclass ,name ,@definition-forms))


;;; Variables, parameters and constants.
;;; Now you say:
;;;
;;;	(def var *x*)
;;;
;;; and
;;;
;;;	(def parameter *foo* 42)
;;; and
;;;
;;;	(def constant +bar+ "bar")

(defmethod build-definition-form ((what (eql 'var))
                                  (name symbol)
                                  definition-forms
                                  &optional prefix-options)
  `(defvar ,name ,@definition-forms))

(defmethod build-definition-form ((what (eql 'parameter))
                                  (name symbol)
                                  definition-forms
                                  &optional prefix-options)
  `(defparameter ,name ,@definition-forms))

(defmethod build-definition-form ((what (eql 'constant))
                                  (name symbol)
                                  definition-forms
                                  &optional prefix-options)
  `(defconstant ,name ,@definition-forms))



;;; Structures.
;;; These are the straightforward definitions.
#|
(defmethod build-definition-form ((what (eql 'structure))
                                  (name symbol)
                                  definition-forms
                                  &optional prefix-options)
  `(defstruct ,name ,@definition-forms))


(defmethod build-definition-form ((what (eql 'structure))
                                  (name cons)
                                  definition-forms
                                  &optional prefix-options)
  `(defstruct ,name ,@definition-forms))
|#
;;; ... but this is more interesting: let's have a similar syntax for
;;; Classes and Structures.
;;; Now you say:
;;;
;;;	(def structure foo (a (s 42 :type number))
;;;	     (:documentation "Foo structure")
;;;	     (:print-function print-foo))

(defmethod build-definition-form ((what (eql 'structure))
                                  (name symbol)
                                  definition-forms
                                  &optional prefix-options)
  (destructuring-bind (slots &rest options)
      definition-forms
    (if options
        ;; The standard DEFSTRUCT options, but :DOCUMENTATION is
        ;; special.
        (let ((doc (find :documentation options :key #'first))
              (opts (remove :documentation options :key #'first))
              )
          `(defstruct (,name ,@opts) ,@(when doc (list (second doc))) ,@slots))
        `(defstruct ,name ,@slots))))





;;; Now let's define a meta "def" processor.

(defmethod build-definition-form ((what (eql 'definer))
                                  (for-what symbol)
                                  definition-forms
                                  &optional prefix-options)
  (destructuring-bind ((&key
                        ((:type-of-naming-form name-type) 'symbol) ; Non evaluated
                        ((:name name-var) 'name)                   ; Non evaluated
                        ((:body-name def-form-var) 'definition-forms) ; Non evaluated
                        )
                       &body definer-forms)
      definition-forms
    `(defmethod build-definition-form ((what (eql ',for-what))
                                       (,name-var ,name-type)
                                       ,def-form-var
                                       &optional prefix-options)
       ,@definer-forms)))


;;; ... and here is a couple of (real!) example.


;;; Types.
;;; Now you say:
;;;
;;;	(def type buffer (x) `(vector character ,x))

(def definer type (:name type-name)
     `(deftype ,type-name ,@definition-forms))


;;; Packages.
;;; Now you say:
;;;
;;;     (def package "FOO" (:use "CL") (:export "BAR"))

(def definer package (:name package-name)
     `(defpackage ,package-name ,@definition-forms))


;;; Conditions.
;;; Now you say:
;;;
;;;	(def condition my-error (simple-error) ...)

(def definer condition (:name condition-name :body-name cnd-def-body)
     `(define-condition ,condition-name ,@cnd-def-body))



;;; Finally, lets define something that will allow us to write
;;;
;;; (def (inline (values (vector double-float) symbol) function) foo (x y) ...)
;;;
;;; The only requirement is that the last element of the list is the
;;; discriminant. The prefix arguments are passed in the
;;; PREFIX-OPTIONS parameter.

(defmethod build-definition-form ((what list)
                                  (name t)
                                  definition-forms
                                  &optional prefix-options)
  (build-definition-form (first (last what))
                         name
                         definition-forms
                         (butlast what)))

;;; ... and here is the kicker.


(defun type-specifier-p (x)
  (nth-value 0 (ignore-errors (subtypep x t))))

#|
;;; The next ones are commented because I am experimenting with different
;;; syntax.

(defmethod build-definition-form :around ((what (eql 'function))
                                          (name symbol)
                                          definition-forms
                                          &optional prefix-options)
  (if prefix-options
      (let ((inlinep (find 'inline prefix-options))
            (return-type (find-if #'type-specifier-p prefix-options))
            )
        (declare (ignorable return-type))
        `(progn
           ,@(when inlinep `((declaim (inline ,name))))
           ;; Here we could build the (declaim (ftype ...)) form by
           ;; munging the lambda list and the definition body.
           ;; We ignore it for the time being.
           ,(call-next-method)))
      (call-next-method)))


(defmethod build-definition-form :around ((what (eql 'function))
                                          (name cons)  ; (setf <name>)
                                          definition-forms
                                          &optional prefix-options)
  (cond ((and (= (length name) 2) (eql (first name) 'setf))
         ;; (setf <name>)
         (if prefix-options
             (let ((inlinep (find 'inline prefix-options))
                   (return-type (find-if #'type-specifier-p prefix-options))
                   )
               (declare (ignorable return-type))
               `(progn
                  ,@(when inlinep `((declaim (inline ,name))))
                  ;; Here we could build the (declaim (ftype ...)) form by
                  ;; munging the lambda list and the definition body.
                  ;; We ignore it for the time being.
                  ,(call-next-method)))
             (call-next-method)))
        (t (error 'program-error))))

|#

;;; Now you say
;;;
;;;	(def (inline fixnum function) foo (x) (mod (1+ x) most-positive-fixnum))


;;; Alternative 1.
;;; Of course the DEF macro could be defined in such a way to achieve
;;; a different effect.  A new syntax like:
;;;
;;;	(def function (foo :inline t :values (fixnum double)) (x (y integer) z) ...)
;;;
;;; may be better (and more similar to DEF STRUCTURE.)
;;;
;;; Alternative 2.
;;; Couple the return type with the function name.
;;;
;;;	(def (inline function) (foo (values fixnum double)) (x (y integer) z) ...)
;;;
;;; may be the best, but it may not be so attractive.



#|
Of course, things can get more interesting.
E.g in UFFI you'd write

	(uffi:def-foreign-type char-ptr (* :char))

Now you can write

	(def uffi:foreign-type char-ptr (* :char))

|#

;;; end of file -- definer.lisp --

--------------050607040700050207060308--
From: Rahul Jain
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <87vfob4bwk.fsf@nyct.net>
Marco Antoniotti <·······@cs.nyu.edu> writes:

> You mean you need this?  :)
[...]
> ;;; definer.lisp --
> ;;; Many CL packages extend the language by adding a slew of
> ;;;
> ;;; (defsomething ...) and/or (define-something-else ...)
> ;;;
> ;;; macros.  Well, wouldn't it be nice to have a more controlled way
> ;;; to do that?  DEFINER is for you. A quick hack where we extend CL
> ;;; to define more complex definition forms.

What about DEF METHOD? ;)

-- 
Rahul Jain
·····@nyct.net
Professional Software Developer, Amateur Quantum Mechanicist
From: Marco Antoniotti
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <ZDFFb.114$Nq.30541@typhoon.nyu.edu>
Rahul Jain wrote:

> Marco Antoniotti <·······@cs.nyu.edu> writes:
> 
> 
>>You mean you need this?  :)
> 
> [...]
> 
>>;;; definer.lisp --
>>;;; Many CL packages extend the language by adding a slew of
>>;;;
>>;;; (defsomething ...) and/or (define-something-else ...)
>>;;;
>>;;; macros.  Well, wouldn't it be nice to have a more controlled way
>>;;; to do that?  DEFINER is for you. A quick hack where we extend CL
>>;;; to define more complex definition forms.
> 
> 
> What about DEF METHOD? ;)
> 

It's in there, isnt' it?

	(def method foo ((x integer) (y double)) ...)

	(def method foo :before ((x integer) (y t)) ...)

What is not there (yet) is a full blown DEF FUNCTION.  I am playing 
around with something like

	(def function (foo :inline t) (x y &rest z) ...)

that would expand in

	(progn
	   (declaim (inline foo))
	   (defun foo (x y &rest z) ...))

... you see where I am getting at :)
But right now you can only do

	(def function foo (x y &rest z) ...)

I think the cutest thing is the

	(def structure foo
	   (a s d)
	   (:documentation "FOO")
	   (:print-function print-foo))

and the kicker

	(def definer type (:name type-name) ...)

for DEFTYPE.

Cheers
--
Marco
From: Rahul Jain
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <87k74oz2dz.fsf@nyct.net>
Marco Antoniotti <·······@cs.nyu.edu> writes:

> Rahul Jain wrote:
>>
>> What about DEF METHOD? ;)
>>
>
> It's in there, isnt' it?

Oh, sorry, I missed it. However, your syntax doesn't capture the
"essential characteristics" aspect of my pattern. Unfortunately, the
syntax of defmethod makes that exceedingly hard to do in a general way
via destructuring.


-- 
Rahul Jain
·····@nyct.net
Professional Software Developer, Amateur Quantum Mechanicist
From: Rahul Jain
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <873cbhtzjd.fsf@nyct.net>
···········@yahoo.com (Tayssir John Gabbour) writes:

> (defun (foo x &rest stuff) ...)  ;easier to cut & paste
>
> I don't yet see any lossage, especially since this shouldn't kill
> reverse compat because the 1st arg to defun won't be an atom.

It'll kill reverse compat with LAMBDA, which is exactly why it was like
that in the first place. It also just looks funny to me. :)

-- 
Rahul Jain
·····@nyct.net
Professional Software Developer, Amateur Quantum Mechanicist
From: Alexander Schmolck
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <yfsk75aopqk.fsf@black132.ex.ac.uk>
Pascal Costanza <········@web.de> writes:

> Wrt to naming conventions: I don't like the use of ! for side effects because
> I simply don't share the notion that side effects are evil (I am exaggerating
> a bit). Why would I want to mark my code in a special way to indicate features
> that might be totally irrelevant to the domain I am trying to model?

So that you don't accidentally delete something you wanted to remove?

'as
From: Jens Axel Søgaard
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <3fd357ba$0$69903$edfadb0f@dread12.news.tele.dk>
Pascal Costanza wrote:

> Wrt to naming conventions: I don't like the use of ! for side effects 
> because I simply don't share the notion that side effects are evil (I am 
> exaggerating a bit). Why would I want to mark my code in a special way 
> to indicate features that might be totally irrelevant to the domain I am 
> trying to model? [1]

Sometimes the ! is signaling "linear update":

<http://srfi.schemers.org/srfi-1/srfi-1.html#LinearUpdateProcedures>

-- 
Jens Axel S�gaard
From: Ray Dillinger
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <3FD38B00.DB179D6C@sonic.net>
Jens Axel Søgaard wrote:
> 
> Pascal Costanza wrote:
> 
> > Wrt to naming conventions: I don't like the use of ! for side effects
> > because I simply don't share the notion that side effects are evil (I am
> > exaggerating a bit). Why would I want to mark my code in a special way
> > to indicate features that might be totally irrelevant to the domain I am
> > trying to model? [1]
> 
> Sometimes the ! is signaling "linear update":
> 
> <http://srfi.schemers.org/srfi-1/srfi-1.html#LinearUpdateProcedures>

I actually dislike this usage; I consider it underspecified.
Sometimes it is your intent and requirement to mutate a structure. 
Linear-update prodecures make no guarantee that you can do so.

			Bear
From: Rand Sobriquet
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <1e249696.0312020501.596a2ae2@posting.google.com>
Duane Rettig <·····@franz.com> wrote in message > 

> 
> His complaint about loop isn't about iteration vs recursion; it is
> a different-language-within-a-language complaint.  I remember reading
> his critique, but it was a long time ago; I don't remember if he did
> this, but his complaint would not be complete unless he also included
> a complaint about cl:format, which is also a complete language within CL.
> Such is the nature of CL - languages withing languages...
> 

Format is pretty straightforward. Loop, on the other hand, is rather
opaque - I find it hard to visualize the end-result (probably a
personal problem). My mind slides over the loop body without gaining
purchase.

I agree that dislike of loop is not a valid criticism of CL.

I use SERIES instead and I enjoy it very much so.  I think that it is
almost perfect in every way and it is a pity that it did not make it
into the standard.
From: Michael Hudson
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <m3ptf7s719.fsf@pc150.maths.bris.ac.uk>
··········@eudoramail.com (Rand Sobriquet) writes:

> Duane Rettig <·····@franz.com> wrote in message > 
> 
> > 
> > His complaint about loop isn't about iteration vs recursion; it is
> > a different-language-within-a-language complaint.  I remember reading
> > his critique, but it was a long time ago; I don't remember if he did
> > this, but his complaint would not be complete unless he also included
> > a complaint about cl:format, which is also a complete language within CL.
> > Such is the nature of CL - languages withing languages...
> > 
> 
> Format is pretty straightforward. Loop, on the other hand, is rather
> opaque

!  My feelings are more or less the opposite.  Sure horrors are
possible with both, but I find the alphabet soup of format really hard
to remember.  Probably if I actually wrote more CL than I do at the
moment it would start to stick...

[...]
> I use SERIES instead and I enjoy it very much so.  I think that it is
> almost perfect in every way and it is a pity that it did not make it
> into the standard.

I really should learn how to use series properly...

Cheers,
mwh

-- 
  Not only does the English Language borrow words from other
  languages, it sometimes chases them down dark alleys, hits
  them over the head, and goes through their pockets.   -- Eddy Peters
From: Paul F. Dietz
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <n4udnX-M4M3UPVGiRVn-uw@dls.net>
Michael Hudson wrote:

>>Format is pretty straightforward. Loop, on the other hand, is rather
>>opaque
> 
> 
> !  My feelings are more or less the opposite.  Sure horrors are
> possible with both, but I find the alphabet soup of format really hard
> to remember.

I agree, although that may change after I've written all the FORMAT
ansi-tests. :)

	Paul
From: Tim Bradshaw
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <ey3oeurbair.fsf@lostwithiel.cley.com>
* Rand Sobriquet wrote:
> Format is pretty straightforward. Loop, on the other hand, is rather
> opaque - I find it hard to visualize the end-result (probably a
> personal problem). My mind slides over the loop body without gaining
> purchase.

"~& ~:[?~;~:*~S~]: ~:[?~;~:*~S~] -> ~:[?~;~:*~S~]~%"

--tim
From: Duane Rettig
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <4zneb14l7.fsf@franz.com>
Tim Bradshaw <···@cley.com> writes:

> * Rand Sobriquet wrote:
> > Format is pretty straightforward. Loop, on the other hand, is rather
> > opaque - I find it hard to visualize the end-result (probably a
> > personal problem). My mind slides over the loop body without gaining
> > purchase.
> 
> "~& ~:[?~;~:*~S~]: ~:[?~;~:*~S~] -> ~:[?~;~:*~S~]~%"

#<Printer Error, obj=#x71000985: Insufficient format args>

-- 
Duane Rettig    ·····@franz.com    Franz Inc.  http://www.franz.com/
555 12th St., Suite 1450               http://www.555citycenter.com/
Oakland, Ca. 94607        Phone: (510) 452-2000; Fax: (510) 452-0182   
From: Wolfhard Buß
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <m3smk33rp0.fsf@buss-14250.user.cis.dfn.de>
Duane Rettig <·····@franz.com> writes:

> Tim Bradshaw <···@cley.com> writes:
>
>> * Rand Sobriquet wrote:
>> > Format is pretty straightforward. Loop, on the other hand, is rather
>> > opaque - I find it hard to visualize the end-result (probably a
>> > personal problem). My mind slides over the loop body without gaining
>> > purchase.
>> 
>> "~& ~:[?~;~:*~S~]: ~:[?~;~:*~S~] -> ~:[?~;~:*~S~]~%"
>
> #<Printer Error, obj=#x71000985: Insufficient format args>

 (format nil "~:[~?~;~:*~S~]: ~:[~?~;~:*~S~] -> ~:[~?~;~:*~S~]" 'car 'list t)

 => "CAR: LIST -> T"

-- 
"Hurry if you still want to see something. Everything is vanishing."
                                       --  Paul C�zanne (1839-1906)
From: Rob Warnock
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <eaidnX5Df8kXRVCiXTWc-g@speakeasy.net>
Wolfhard Bu� <·····@gmx.net> wrote:
+---------------
| Duane Rettig <·····@franz.com> writes:
| > Tim Bradshaw <···@cley.com> writes:
| >> * Rand Sobriquet wrote:
| >> > Format is pretty straightforward. Loop, on the other hand, is rather
| >> > opaque - I find it hard to visualize the end-result (probably a
| >> > personal problem). My mind slides over the loop body without gaining
| >> > purchase.
| >> 
| >> "~& ~:[?~;~:*~S~]: ~:[?~;~:*~S~] -> ~:[?~;~:*~S~]~%"
| >
| > #<Printer Error, obj=#x71000985: Insufficient format args>
| 
|  (format nil "~:[~?~;~:*~S~]: ~:[~?~;~:*~S~] -> ~:[~?~;~:*~S~]" 'car 'list t)
| 
|  => "CAR: LIST -> T"
+---------------

Oh, but that's just the *simple* case!!  ;-}  ;-}
Here's a much more interesting set of arguments:

	(format nil "~:[~?~;~:*~S~]: ~:[~?~;~:*~S~] -> ~:[~?~;~:*~S~]"
                    nil "==~s==" '(foo)
                    'bar
                    nil "~s:~{ <~S,~S>~}." '(baz (x0 y0 x1 y1)))
	=> "==FOO==: BAR -> BAZ: <X0,Y0> <X1,Y1>."

[Thank heavens for the CLHS!]


-Rob

-----
Rob Warnock			<····@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607
From: Geoffrey Summerhayes
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <Nd6zb.5861$zf2.874118@news20.bellglobal.com>
"Tim Bradshaw" <···@cley.com> wrote in message
····················@lostwithiel.cley.com...
> * Rand Sobriquet wrote:
> > Format is pretty straightforward. Loop, on the other hand, is rather
> > opaque - I find it hard to visualize the end-result (probably a
> > personal problem). My mind slides over the loop body without gaining
> > purchase.
>
> "~& ~:[?~;~:*~S~]: ~:[?~;~:*~S~] -> ~:[?~;~:*~S~]~%"
>

<shudder> Please tell me the format string was as far as you got,
those threads are too long already... :-)

--
Geoff
From: Rand Sobriquet
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <1e249696.0312040920.cc5b78c@posting.google.com>
Tim Bradshaw <···@cley.com> wrote in message news:<···············@lostwithiel.cley.com>...
> * Rand Sobriquet wrote:
> > Format is pretty straightforward. Loop, on the other hand, is rather
> > opaque - I find it hard to visualize the end-result (probably a
> > personal problem). My mind slides over the loop body without gaining
> > purchase.
> 
> "~& ~:[?~;~:*~S~]: ~:[?~;~:*~S~] -> ~:[?~;~:*~S~]~%"
> 
> --tim

Let me ask you a hypothetical question (that is, if you don't mind).

Let's say that format never existed, and instead, common lisp used
something like Drew McDermott's outin macro (available at CLOCC in the
ytools directory).  Which would you be happier using?

That format string is pretty cool, btw.  Unfortuneatly, I always end
up having to slice and dice my output with
capi:multi-column-list-panel or other......
From: Pascal Bourguignon
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <87u14jvzyk.fsf@thalassa.informatimago.com>
··········@eudoramail.com (Rand Sobriquet) writes:

> Duane Rettig <·····@franz.com> wrote in message > 
> 
> > 
> > His complaint about loop isn't about iteration vs recursion; it is
> > a different-language-within-a-language complaint.  I remember reading
> > his critique, but it was a long time ago; I don't remember if he did
> > this, but his complaint would not be complete unless he also included
> > a complaint about cl:format, which is also a complete language within CL.
> > Such is the nature of CL - languages withing languages...
> > 
> 
> Format is pretty straightforward. Loop, on the other hand, is rather
> opaque - I find it hard to visualize the end-result (probably a
> personal problem). My mind slides over the loop body without gaining
> purchase.

It looks like the semantics  of complex LOOP constructs is not clearly
defined. At  least, different implementations have  different ideas on
what should be done.  That's the reason why I don't use LOOP.
 
> I agree that dislike of loop is not a valid criticism of CL.
> 
> I use SERIES instead and I enjoy it very much so.  I think that it is
> almost perfect in every way and it is a pity that it did not make it
> into the standard.

-- 
__Pascal_Bourguignon__                          http://www.informatimago.com/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Living free in Alaska or in Siberia, a grizzli's life expectancy is 35 years,
but no more than 8 years in captivity.           http://www.theadvocates.org/
From: Peter Seibel
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <m33cc2boh7.fsf@javamonkey.com>
Pascal Bourguignon <····@thalassa.informatimago.com> writes:

> ··········@eudoramail.com (Rand Sobriquet) writes:
> 
> > Duane Rettig <·····@franz.com> wrote in message > 
> > 
> > > 
> > > His complaint about loop isn't about iteration vs recursion; it is
> > > a different-language-within-a-language complaint.  I remember reading
> > > his critique, but it was a long time ago; I don't remember if he did
> > > this, but his complaint would not be complete unless he also included
> > > a complaint about cl:format, which is also a complete language within CL.
> > > Such is the nature of CL - languages withing languages...
> > > 
> > 
> > Format is pretty straightforward. Loop, on the other hand, is rather
> > opaque - I find it hard to visualize the end-result (probably a
> > personal problem). My mind slides over the loop body without gaining
> > purchase.
> 
> It looks like the semantics  of complex LOOP constructs is not clearly
> defined. At  least, different implementations have  different ideas on
> what should be done.  That's the reason why I don't use LOOP.

Do you have any examples?

-Peter

-- 
Peter Seibel                                      ·····@javamonkey.com

         Lisp is the red pill. -- John Fraser, comp.lang.lisp
From: Jock Cooper
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <m3fzg1stko.fsf@jcooper02.sagepub.com>
Peter Seibel <·····@javamonkey.com> writes:

> Pascal Bourguignon <····@thalassa.informatimago.com> writes:
> 
> > ··········@eudoramail.com (Rand Sobriquet) writes:
> > 
> > > Duane Rettig <·····@franz.com> wrote in message > 
> > > 
> > > > 
> > > > His complaint about loop isn't about iteration vs recursion; it is
> > > > a different-language-within-a-language complaint.  I remember reading
> > > > his critique, but it was a long time ago; I don't remember if he did
> > > > this, but his complaint would not be complete unless he also included
> > > > a complaint about cl:format, which is also a complete language within CL.
> > > > Such is the nature of CL - languages withing languages...
> > > > 
> > > 
> > > Format is pretty straightforward. Loop, on the other hand, is rather
> > > opaque - I find it hard to visualize the end-result (probably a
> > > personal problem). My mind slides over the loop body without gaining
> > > purchase.
> > 
> > It looks like the semantics  of complex LOOP constructs is not clearly
> > defined. At  least, different implementations have  different ideas on
> > what should be done.  That's the reason why I don't use LOOP.
> 
> Do you have any examples?
> 
I was hoping to see some too.. to get an idea of things to avoid when using
LOOP.. for my money the rest of it is just to useful to not use..
From: Pascal Costanza
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <bqfp8g$1916$1@f1node01.rhrz.uni-bonn.de>
Tayss wrote:

> Kenny Tilton <·······@nyc.rr.com> wrote in message news:<························@twister.nyc.rr.com>...
> 
>>Tayss wrote:
>>
>>>Does anyone know of any places I can find good criticisms? 
>>
>>Paul Graham's site? He likes Lisp, but thinks Common Lisp sucks.
> 
> 
> Interestingly enough, I've never seen him make clear on why he thinks
> that.

You can find some information in his rationales for Arc. "Why Arc Isn't 
Especially Object-Oriented" has some bits AFAIR. See 
http://www.paulgraham.com/noop.html

> What I really would like to understand is Hillis' and Weinreb's
> comments that Common Lisp would have been a lot more like Scheme if
> backwards compatibility were not so important an issue.  And what
> parts of Flavors should not have been lost by CLOS.  I guess I should
> start searching for the minutes of the standardization committee.

I think such criticism isn't very interesting. What I like about Common 
Lisp is that it has largely standardized proven practice. More often 
than not one can experience this when using the language that several 
features just work extremely well together. This is nothing that can be 
objectively described though IMHO.

It's right that Common Lisp has some unaesthetic edges, but again more 
often than not they exist for good reasons. Aesthetical principles 
shouldn't play the most important role when designing a language IMHO. 
(And I think that Scheme and most of the functional programmming 
languages just follow mathematical principles of purity, minimality, 
elegance, and so forth, which are foremostly aesthetical principles. But 
many mathematically inclined people don't seem to understand this - or I 
don't get the pragmatic relevance of such principles.)

For people who want Scheme there's Scheme.


Pascal

-- 
Pascal Costanza               University of Bonn
···············@web.de        Institute of Computer Science III
http://www.pascalcostanza.de  R�merstr. 164, D-53117 Bonn (Germany)
From: Paolo Amoroso
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <87vfp09sqb.fsf@plato.moon.paoloamoroso.it>
Tayss writes:

[Paul Graham]
> Interestingly enough, I've never seen him make clear on why he thinks
> that.  His intro book talks a bit about loop, and I can see the
> iteration vs. recursion war, but I don't remember him making it
> explicit.  I think a lot of people have been used to all these

I think he discusses this in Arc design/rationale documents. I seem to
remember that he says Common Lisp is not good enough for hackers,
e.g. it's too verbose.


Paolo
-- 
Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film
From: Paolo Amoroso
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <873cc4khze.fsf@plato.moon.paoloamoroso.it>
Tayss writes:

> Does anyone know of any places I can find good criticisms?  This

A few suggestions (don't have the URLs handy, but they should be easy
to find via Google):

- the Common Lisp critique by Gabriel (available at his site)
- the Closthrophobia(sp?) paper and other critiques by Henry Baker
- Norvig's comments on Lisp/Python
- Paul Graham's writings
- critiques on particular features by regular comp.lang.lisp
  contributors (e.g. Erann Gat)


> because I think people can simply not trust all this wide-eyed
> idealism that comes from evangelists.  If critics were just partly

A possibly little known account of ANSI standardization from an
insider is:

  "The History of Lisp Standardization during 1984-1990"
  Masayuki Ida
  Proceedings of ILC 2002

He published more extensive papers in Japanese. In the same
proceedings see also the paper by Richard Greenblatt I mentioned in
the thread about bootstrapping SBCL on Mac OS X.


Paolo
-- 
Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film
From: Gareth McCaughan
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <871xroqfbt.fsf@g.mccaughan.ntlworld.com>
Paolo Amoroso <·······@mclink.it> writes:

> - the Closthrophobia(sp?) paper and other critiques by Henry Baker

"CLOStrophobia". Another one of his that would probably
interest the original poster is entitled "Critique of DIN
Kernel Lisp".

-- 
Gareth McCaughan
.sig under construc
From: Pascal Costanza
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <bqf6jl$16m2$1@f1node01.rhrz.uni-bonn.de>
Tayss wrote:
> I'm trawling through old usenet postings about lisp.  Boy, were they a
> flaming bunch.  (Though some of their criticisms today look silly.) 
> Does anyone know of any places I can find good criticisms?  This
> doesn't have to be just about Common Lisp, but systems like Interlisp
> or how overrated Lisp Machines were would be great too.

Apart from the suggestions already made that include mostly direct and 
open criticisms, you could also try to find out about unspoken 
criticism. Here are some suggestions:

- Schemers usually try to set themselves apart from Common Lispniks (and 
vice versa). Papers and descriptions about Scheme typically include 
descriptions why Scheme is considered to be superior in some respects 
over Common Lisp.

You might want to ask in comp.lang.scheme for such resources.

- Likewise, functional programming has its roots in Lisp languages, but 
typically FPers find that newer FP languages are improvements over Lisps 
(including Common Lisp and Scheme). Some papers and descriptions include 
discussions about the similarities and differences. Especially, papers 
about metaprogramming seem to be worthwhile in this regard.

Ask in comp.lang.functional for further information.

http://www.informatik.uni-trier.de/~ley/db/conf/saig/saig2001.html#Sheard01 
might be a good starting point.

- Next, some OOPers that know about CLOS also seem to have arguments 
about why other OOP languages are "better". Mostly, one can hear 
statements along the lines that CLOS is too complicated, but I haven't 
yet heard really convincing arguments yet.

Gregor Kiczales seems to think so, but it's hard to get any substantial 
statements about this issue from him, for obvious reasons.

Erik Ernst's work on gbeta mentions CLOS's method combination as related 
work, but I don't know whether this is along the lines you are 
interested in.

- A good source where you could ask this question might be the ll1 
mailing list.

I hope this helps.

BTW, it would be really great if you could at some stage collect the 
information at a single place - a website, or a paper would be cool. 
Just a suggestion...


Pascal

-- 
Pascal Costanza               University of Bonn
···············@web.de        Institute of Computer Science III
http://www.pascalcostanza.de  R�merstr. 164, D-53117 Bonn (Germany)
From: Alex Tibbles
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <3fcb2be0$0$57792$65c69314@mercury.nildram.net>
"Pascal Costanza" <········@web.de> wrote in message
··················@f1node01.rhrz.uni-bonn.de...
<snip>
> - Next, some OOPers that know about CLOS also seem to have arguments
> about why other OOP languages are "better". Mostly, one can hear
> statements along the lines that CLOS is too complicated, but I haven't
> yet heard really convincing arguments yet.
>
> Gregor Kiczales seems to think so, but it's hard to get any substantial
> statements about this issue from him, for obvious reasons.

Please forgive my ignorance, but what are the reasons? I believe that
Kiczales was involved in CLOS's development and is involved in AspectJ,
hence Java, but cannot think why this would prevent him from criticizing
CLOS....

Thanks,
Alex
From: Tayss
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <5627c6fa.0312011154.1ac6ff1d@posting.google.com>
Pascal Costanza <········@web.de> wrote in message news:<·············@f1node01.rhrz.uni-bonn.de>...
> BTW, it would be really great if you could at some stage collect the 
> information at a single place - a website, or a paper would be cool. 
> Just a suggestion...

Definitely, I was wondering if others might find it interesting.  And
thanks for the suggestions.

Plus, lispers have historically been friendly with the puns. ;)


--
I see them as symbols, and I leave them to the symbol-minded.
� George Carlin
From: Kent M Pitman
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <sfwu14k1hh6.fsf@shell01.TheWorld.com>
··········@yahoo.com (Tayss) writes:

> I'm trawling through old usenet postings about lisp.  Boy, were they a
> flaming bunch.  (Though some of their criticisms today look silly.) 
> Does anyone know of any places I can find good criticisms?  This
> doesn't have to be just about Common Lisp, but systems like Interlisp
> or how overrated Lisp Machines were would be great too.

Lisp Machines were NOT overrated.  As time passes, they certainly have
increasing levels of trouble comparing to modern systems, but they did
not disappear because of lack of usefulness.  Rather, they disappeared
for bad business decisions (catering to Mac rather than PC,
taking a ten year lease on office space for 1000 people and then 
downsizing with a multi-million dollar long-term commitment on that
office space, etc.)  For references on Lisp Machines, see perhaps
http://www.wkap.nl/prod/b/0-89838-220-3 if you've not seen that.
Or better still, get together with someone who HAS a lisp machine.
(If it's not ordinarily possible, arrange to meet them at a conference?)
 
Interlisp is probably underrated in most places  you read about it only
because history is written by the winners and it lost to the Lisp Machine
community.  But it had many good ideas in it that were simply lost.

Why not invest in learning the "truth"?  It's not that no one will
tell you about problems in the design of these and it's not like these
things didn't have "bugs to fix" and "wishlists".  It's just that in spite
of those things, they still far exceeded the competition.

> Partly I'm motivated by a waning interest in learning more about the
> language (because books only give a very filtered account), and
> because I think people can simply not trust all this wide-eyed
> idealism that comes from evangelists.  If critics were just partly
> right about Common Lisp being a nasty compromise, it would be very
> educational.

Critics have a vested interest in not having things they like better change,
whether those things are inferior or superior.  Most Lisp users criticize
by building alternatives, extensions, etc. -- constructively.  Lisp enables
this kind of thing, and so Lisp users don't generally dwell on the 
deficiencies.

What exactly do you hope/expect to find?  Why not just ask questions about
the things you wonder about and leave your mind open as to whether the
results are "good" or "bad" or "glowing" or "damning".  Just seek to 
understand things as they are.  We're a pretty honest group here.

> BTW, I'm aware of the enormous noise-to-signal ratios inherent in
> these things... 

IMO, the signal to noise ratio here is pretty good, compared to some 
newsgroups.  Yeah, it runs out of control once in a while, but it's
easy to skip out on a thread that has exploded and get to the next.

> and I'm not motivated by any dislike of lisp,
> especially since I'm still blown away at how I can write Common Lisp
> test harness systems in under 20 lines that are far better than xUnit,
> or a personal Google that keeps track of what I buy in less than 50...
> 
> Any pointers would be very appreciated.

I'm honestly just not sure what you're seeking.

This is an interactive group.  If you have some question about the how or
why of the language, why not just ask that?  People will then either point
you at an appropriate document or will engage you directly.  It's much 
better to deal with this (and probably any) group by being
(domain-)goal-oriented [ask something about Lisp or how to use it]
than by being meta-outcome-oriented [asking something about winners/losers 
or critics/enthusiasts].  Leave the assessment of winners and losers to 
the historians.  Not because they'll have a brighter view, but because that
kind of analysis is exactly what you seem not to be seeking, IMO.  You 
seem to both be seeking an honest account and a "big picture" account, but
I think big picture accounts are necessarily at least biased according to
the speaker.  I make them all the time, and I try to be honest, but they 
always include my personal biases.  Others make theirs and they disagree
because it includes their biases.  If you want to know something unbiased,
ask what CAR and CDR do.  Heh... ;)
From: Tayss
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <5627c6fa.0312011854.72ac5e6a@posting.google.com>
Kent M Pitman <······@nhplace.com> wrote in message news:<···············@shell01.TheWorld.com>...
> I make them all the time, and I try to be honest, but they 
> always include my personal biases.  Others make theirs and they disagree
> because it includes their biases.  If you want to know something unbiased,
> ask what CAR and CDR do.  Heh... ;)

Actually, you often make responses that slightly puzzled me in a way I
couldn't express, where you sort of have the strategy of preemptively
keeping parity.  When I decided to go in the wayback machine of this
usenet group, it was clear what you were doing, and incidentally I
became aware at how horribly repetitive and unsubtle my thoughts were.
;)


> What exactly do you hope/expect to find?  Why not just ask questions about
> the things you wonder about and leave your mind open as to whether the
> results are "good" or "bad" or "glowing" or "damning".  Just seek to 
> understand things as they are.  We're a pretty honest group here.

I explained this under a reply to Duane, but partly it's just an
intuition thing too.  Maybe I'm trying to understand what other people
saw and think like them for a while, who knows?

"Winners and losers can seldom be distinguished solely by studying the
published literature, which contains proposals for systems never
built, glowing accounts that outshine the actual user manuals, and
descriptions of systems that work but have not spread beyond their
original environments.   People seldom write retrospectives on
failures; when written, they often go unpublished."
-- Kernighan & Mashey

Maybe I want to accept those two guys' challenge.


> IMO, the signal to noise ratio here is pretty good, compared to some 
> newsgroups.  Yeah, it runs out of control once in a while, but it's
> easy to skip out on a thread that has exploded and get to the next.

I'm not criticizing this forum.  I hang out here partly because I'd go
mad with the sea of money-oriented programmers.  Not that lispers make
little money, but because those other programmers... just are not in
the universe I like to inhabit.  Hard to explain.


> Rather, they disappeared
> for bad business decisions (catering to Mac rather than PC,
> taking a ten year lease on office space for 1000 people and then 
> downsizing with a multi-million dollar long-term commitment on that
> office space, etc.)

I read your explanation of this on slashdot.  I almost went nuts when
I saw Pascal's ebaying of Open Genera, since I strongly felt Symbolics
should pay him $500 to just pirate the damn thing to everyone who
asked. ;)  Ok, it would make no financial sense to the new Symbolics,
but I notice that Free Software and Unix were probably successful
because they both separated the programmers from the business world. 
The ten year lease is just such an El Retardo thing to die of; Rich
Chapman's _In Search of Stupidity_ claims that neither high
intelligence nor marketing is the real survival quality, but rather a
lack of stupidity.  His book attempts to bring some institutional
knowledge to companies so they don't hurtle towards fatal errors.
From: Kent M Pitman
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <sfwr7zng322.fsf@shell01.TheWorld.com>
··········@yahoo.com (Tayss) writes:

> "Winners and losers can seldom be distinguished solely by studying the
> published literature, which contains proposals for systems never
> built, glowing accounts that outshine the actual user manuals, and
> descriptions of systems that work but have not spread beyond their
> original environments.   People seldom write retrospectives on
> failures; when written, they often go unpublished."
> -- Kernighan & Mashey
> 
> Maybe I want to accept those two guys' challenge.

Actually, my paper on CREF (a hypertext system) is more of a writeup on
failure than success.  It did some things but the things it did were not
as interesting as the things it didn't, so I wrote up the latter.
I think you can get the pointer from my publications page and it's probably
online at MIT for reading.
 http://www.nhplace.com/kent/publications.html

> I read your explanation of this on slashdot.  I almost went nuts when
> I saw Pascal's ebaying of Open Genera, since I strongly felt Symbolics
> should pay him $500 to just pirate the damn thing to everyone who
> asked. ;)  Ok, it would make no financial sense to the new Symbolics,
> but I notice that Free Software and Unix were probably successful
> because they both separated the programmers from the business world. 

And programmers from the possibility of making meaningful salary.

Don't get me started on free software.  It's late and I need to sleep.
(You can google me and free software on this newsgroup if you're wondering.
I'm sure I've written on this once or twice before. ;)
Nite nite.
From: Tayss
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <5627c6fa.0312021048.255385be@posting.google.com>
Kent M Pitman <······@nhplace.com> wrote in message news:<···············@shell01.TheWorld.com>...
> And programmers from the possibility of making meaningful salary.
> 
> Don't get me started on free software.  It's late and I need to sleep.
> (You can google me and free software on this newsgroup if you're wondering.
> I'm sure I've written on this once or twice before. ;)
> Nite nite.

I've read your posts on this and respect your nuanced position, but
many criticisms ignore the offshoring, quality-of-life, and price
dumping problems inherent in traditional companies.

There are disadvantages to free software.  Just as with offshoring. 
That's why it's important to scrutinize claims that either will
destroy the codemonkeying profession.
From: Kent M Pitman
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <sfwd6b6lvzm.fsf@shell01.TheWorld.com>
··········@yahoo.com (Tayss) writes:

> Kent M Pitman <······@nhplace.com> wrote in message 
>  news:<···············@shell01.TheWorld.com>...
>
> > And programmers from the possibility of making meaningful salary.
> > 
> > Don't get me started on free software.  It's late and I need to sleep.
> > (You can google me and free software on this newsgroup if you're wondering.
> > I'm sure I've written on this once or twice before. ;)
> > Nite nite.
> 
> I've read your posts on this and respect your nuanced position, but
> many criticisms ignore the offshoring, quality-of-life, and price
> dumping problems inherent in traditional companies.
>
> There are disadvantages to free software.  Just as with offshoring. 
> That's why it's important to scrutinize claims that either will
> destroy the codemonkeying profession.

Your remark, at least in its syntactic form, suggests that the fact
that there are disadvantages to each is reason to diminish the claims
that there are disadvantages to the other.  Maybe this isn't your intent,
but since I can't read your intent, I'll respond to the form.

An argument made with parallel construction, to help you understand
how I have read what you've here written, is to address someone who
says that burning coal is bad for the atmosphere by saying that there
are disadvantages to nuclear fuel too, and therefore you conclude that
we should scrutinize the claim that either will destroy the
environment.  This is simply not so.  This is a reason to encourage
discussion of what will not have these ill effects.

I have said repeatedly that my objection is not per se to free
software but specifically to "free software qua panacea".  There seems
to be a rampant willingness to believe that if one releases free
software there can be no ill effect to the world and that one should
feel free to do this at any time with any piece of software without
examining the moral consequences.  It is as if there is somehow a
belief that someone somewhere proved a theorem that said that good
intentions will result in good outcomes.  There is likewise a
widespread belief that my saying there are ill effects is the same as
denying any possible good effects.  Note well: I did not say
"universal", I said "widespread".  There are numerous people who seem
to believe this.  There is also a widespread desire to chime in saying
"not me" as if this somehow disproved my observation.  (Existence
proofs disprove universal quantifications, not existential
quantifications.)

The criticism of capitalism that motivates free software seems always
to be that "capitalism is flawed" and yet when I defend capitalism and
criticize "free software" as flawed, I find people don't see that this
is a symmetric situation.  I don't find lots of people saying "oh my
god, you're right, there are problems in both of these systems. we
should really caucus can see if we can bring the two into alignment,
or work out a third option".  People instead seem to trench in to
whatever they think is right, and the argument gets boring.  Or they
start using Microsoft as a synonym for Capitalism, as if that were
illustrative of capitalism at its best, rather than just an obvoius
example of what unrestrained capitalism perhaps isn't as good as 
capitalism + reasonable restrictions of law.

At least capitalists DO regulate themselves legally.  Perhaps
imperfectly but they admit imperfections in the paradigm and attempt
to adjust things to mitigate the ill effects.  The free software
people neither want regulation nor even does anyone who is an
outspoken proponent of free software that I have ever heard advocate
any form whatsoever of voluntary self-restraint in any area of free
software.  "More is better" is about all I ever hear.  That seems to
me to be the primary asymmetry in the two positions:  The idea that
free software is, in and of itself, a panacea.  And that's my objection.
From: Tayss
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <5627c6fa.0312040731.625549f5@posting.google.com>
Kent M Pitman <······@nhplace.com> wrote in message news:<···············@shell01.TheWorld.com>...
> Your remark, at least in its syntactic form, suggests that the fact
> that there are disadvantages to each is reason to diminish the claims
> that there are disadvantages to the other.  Maybe this isn't your intent,
> but since I can't read your intent, I'll respond to the form.

No, my point was that that the disadvantages to free software, as
there are to offshoring, will make it difficult for them to completely
satisfy the market in a sustainable way.  Just because spray cheese is
great and goes well with nearly everything, doesn't mean it will
replace all forms of nutrition.  Though I'm sure there are scientists
working on that.

You did make a polarizing claim, that free software would keep
programmers from making a meaningful salary.  I suspect it was more
for effect, and that you didn't actually want to get into the minutae
of that position.  Perhaps by saying you were tired, it meant you just
wanted to get some annoyance out of your system without it being
responded to.  In that case, I missed the nuance.
From: Kent M Pitman
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <sfwzne8pp35.fsf@shell01.TheWorld.com>
··········@yahoo.com (Tayss) writes:

> You did make a polarizing claim, that free software would keep
> programmers from making a meaningful salary.  I suspect it was 
> more for effect, and that you didn't actually want to get into
> the minutae of that position.

I'm saying that each and every decision to make a piece of free
software is a decision to reduce the possible fee that can be
charged for a commercial version of the same kind of thing.

Moreover, though, I'm saying that in the aggregate effect of this
is not only that as people write lots of freeware, it drives down
the cost of a whole lot of stuff, but it also creates an aggregate
expectation that programmers will work for nothing.  (Stallman says
as much in his book, btw, and explicitly encourages employers to 
pay their programmers less becaues they are driven to do what they
do by other effects and don't require monetary incentive.  I have
paraphrased here, but the exact quote is, I think, substantively
of this nature.  I could dredge it up if you doubted me.)

You mentioned offshoring, but there is a finite amount of offshore
places to go, and absent free software, the standard of living would
eventually go up in such places and better salaries would be paid.
In turn, over time, the prices would ultimately come back up, I think.
(Moreover, there are substantial legal, logistic, linguistic, efficiency,
trust/security and interpersonal obstacles to offshoring such that 
in the nearterm, some set of things are not affected by this even though
others are.  Those same things _are_, however, affected by free software.)

> Perhaps by saying you were tired, it meant you just
> wanted to get some annoyance out of your system without it being
> responded to.  In that case, I missed the nuance.

No. I was just excusing my lack of detail.

Some on this group regard this as off topic, but I can imagine very
little that is more on topic than "what form should I deliver
something I've made in".  I don't think that's a purely technical
question.  It certainly affects which of us are able to acquire and
build on which others of us.  It affects how many dollars are available
for jobs among us.  It affects how much vendors can charge (both because
it affects the price expectation of software generally and because it
affects monetary availability to those who might do the buying).
From: Tayss
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <5627c6fa.0312041618.ddfb6c9@posting.google.com>
Kent M Pitman <······@nhplace.com> wrote in message news:<···············@shell01.TheWorld.com>...
> I'm saying that each and every decision to make a piece of free
> software is a decision to reduce the possible fee that can be
> charged for a commercial version of the same kind of thing.
> 
> Moreover, though, I'm saying that in the aggregate effect of this
> is not only that as people write lots of freeware, it drives down
> the cost of a whole lot of stuff, but it also creates an aggregate
> expectation that programmers will work for nothing.  (Stallman says
> as much in his book, btw, and explicitly encourages employers to 
> pay their programmers less becaues they are driven to do what they
> do by other effects and don't require monetary incentive.  I have
> paraphrased here, but the exact quote is, I think, substantively
> of this nature.  I could dredge it up if you doubted me.)

I do not think software devaluation is unique to free software,
though.  Platform vendors accomplish this with bundling.  The problem
is that since copying software approaches zero marginal cost, a
company could choose to drop prices; and whoever has less competitive
advantage will lose the price war.

The internet is a great devaluator.  I personally believe free
software licenses could be considered structured ways to deal with the
inevitability of devaluation, cushioning the world from an oligarchy
of established companies.  (Companies which release zero-cost software
without sourcecode, shutting out competition's growth possibilities.)

I think programmers can exploit other scarcities that people desire,
than sourcecode.  Advanced AI might make programmers common, but it
doesn't exist.  People who can manage complexity are scarce.  New
standards and processor speeds often spur demand.

Software devaluation does not necessarily imply programmer salary
devaluation.  Currently, we may have even have the problem that there
are too many programmers.  Software devaluation may simply decrease
the number of programmers, but keep salaries the same or even increase
them.  This effect was observed during the dotcom bust.  Companies
could have kept employment up by reducing salaries, but they preferred
layoffs because slashing salaries was worse for morale.

One way that companies fail to employ programmers is by dying.  Free
software has fewer possibilities of death.  Furthermore, traditional
software requires something scarcer than programmers -- programmers
good at business.  Often, a good marketing/sales company can beat the
good engineers, or employ them but take the lion's share of the cash. 
So it is completely unclear whether the techies are best off with the
status quo.

Also, a long software stack is unsustainable.  New software must
compete for limited money against layers underneath it -- the OS,
libraries, etc all eat into new software's profits.  This leads to
stagnation.

In other words, I don't really believe Stallman's own views on the
subject of devaluation.  Not that he's necessarily wrong, but I'm not
sure he's convincing.  Obviously, my own thinking on this is
incomplete.
From: Russell McManus
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <87brqoyqir.fsf@thelonious.dyndns.org>
··········@yahoo.com (Tayss) writes:

> Kent M Pitman <······@nhplace.com> wrote in message news:<···············@shell01.TheWorld.com>...
>> I'm saying that each and every decision to make a piece of free
>> software is a decision to reduce the possible fee that can be
>> charged for a commercial version of the same kind of thing.

Sorry about following up indirectly.

Software people who work from specs are not solving business problems,
but instead are just one link in the value chain.  There are lots of
people who can do this sort of work, and the number is growing quickly
thanks to globalization.  The compensation is unsurprisingly declining
given the growing talent pool.

But the number of people who can work without specs, or _create_ the
specs, and then also implement the solution, is much, much smaller.
Also, perhaps more importantly, this number is not going up very
quickly because of globalization.

It is the unusual case when software knowledge alone can mostly solve
a business problem.  But we saw a number of recent examples where
software knowledge was enough; Yahoo, Amazon, Google.  I submit that
this has skewed our thinking about the proper compensation for
software people.  These days, if you want to be a highly paid software
person, then you must become an expert in a valued application domain,
in addition to becoming a software expert.

In the financial world if you want to build trading systems, then you
had better know finance.  The work that doesn't require finance
knowledge is moving to India[1] and elsewhere.  I'm sure that in every
application domain one can tell a similar tale of woe.  Pure software
people are a dime a dozen, given all the talented engineers one can
find these days in India, the Phillipines, China, etc.

So to finally pop up a level, I argue that free software isn't the
(primary) reason that programmers' pay is under pressure.  Supply and
demand for programming talent is the much more significant issue.

I guess I'm only tangentially responding, but it sounded interesting
while I was writing it.

-russ


[1] I have heard that Goldman Sachs is opening an office in India,
partly to tap the local labor market for talented software people.
From: Ng Pheng Siong
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <br5v06$ve1$1@reader01.singnet.com.sg>
According to Russell McManus  <···············@yahoo.com>:
> These days, if you want to be a highly paid software
> person, then you must become an expert in a valued application domain,
> in addition to becoming a software expert.
>
> [...] 
> 
> So to finally pop up a level, I argue that free software isn't the
> (primary) reason that programmers' pay is under pressure.  Supply and
> demand for programming talent is the much more significant issue.

I've come to believe that (the concept of) free software allows (some)
programmers who are not application domain experts to stay in their comfort
zones and avoid learning other stuff, whether business stuff like sales,
marketing or financials, or just other technical stuff.


> [1] I have heard that Goldman Sachs is opening an office in India,
> partly to tap the local labor market for talented software people.

sci.econ has recently turned into a sewer because some bozos are posting an
endless stream of cut-&-pasted "XXX outsourcing to India" reports. Duh.


-- 
Ng Pheng Siong <····@netmemetic.com> 

http://firewall.rulemaker.net     -+- All Your Rulebase Are Belong To You[tm]
http://sandbox.rulemaker.net/ngps -+- Open Source Python Crypto & SSL
From: Madhu
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <xfevfou9kx8.fsf@rhea.cs.unm.edu>
Helu

Some FUD for thought:

* Kent M Pitman in <···············@shell01.TheWorld.com> :
| ··········@yahoo.com (Tayss) writes:
|
|> You did make a polarizing claim, that free software would keep
|> programmers from making a meaningful salary.  I suspect it was 
|> more for effect, and that you didn't actually want to get into
|> the minutae of that position.
|
| I'm saying that each and every decision to make a piece of free
| software is a decision to reduce the possible fee that can be
| charged for a commercial version of the same kind of thing.

[fully agree]

| Moreover, though, I'm saying that in the aggregate effect of this
| is not only that as people write lots of freeware, it drives down
| the cost of a whole lot of stuff, but it also creates an aggregate
| expectation that programmers will work for nothing.  (Stallman says
| as much in his book, btw, and explicitly encourages employers to 
| pay their programmers less becaues they are driven to do what they
| do by other effects and don't require monetary incentive.  I have
| paraphrased here, but the exact quote is, I think, substantively
| of this nature.  I could dredge it up if you doubted me.)
|
| You mentioned offshoring, but there is a finite amount of offshore
| places to go, and absent free software, the standard of living would
| eventually go up in such places and better salaries would be paid.
| In turn, over time, the prices would ultimately come back up, I think.

There is a period before rationalization, yes. 

In the meantime, offshoring prolly does create the perception that
programmers will work for next to nothing (or at least for 1/50th of
what youre used to, based on the rupee-dollar exchange rate).

Spending programmer dollars in 3rd world economies, both increases the
standard of living there and helps create future markets (both
developer and consumer markets). prime facie a good thing. However it
is unclear which way the rationalization will go: (I try to explain
below)

| (Moreover, there are substantial legal, logistic, linguistic, efficiency,
| trust/security and interpersonal obstacles to offshoring such that 
| in the nearterm, some set of things are not affected by this even though
| others are.  Those same things _are_, however, affected by free software.)
|
|> Perhaps by saying you were tired, it meant you just
|> wanted to get some annoyance out of your system without it being
|> responded to.  In that case, I missed the nuance.
|
| No. I was just excusing my lack of detail.
|
| Some on this group regard this as off topic, but I can imagine very
| little that is more on topic than "what form should I deliver
| something I've made in".  I don't think that's a purely technical
| question.  It certainly affects which of us are able to acquire and
| build on which others of us.  It affects how many dollars are available
| for jobs among us.  It affects how much vendors can charge (both because
| it affects the price expectation of software generally and because it
| affects monetary availability to those who might do the buying).
|

At ilc02 rpg spoke about how his earlier "job" had been "deleted" when
he returned to CS from poetry school; (adding salt: prolly deleted,
gc'ed and finalized)

One of the outcomes of the dot-com boom and subsequent bust seems to
be the emergence of well understood theory and practice of ``making
money off the inefficiencies in the period to rationalization.'' Maybe
The dotcom phenomenon is profitably repeatable in many 3rd world
countries for many years to come, and much investment appears to be
geared to this process. Technology itself can afford to take a
backseat when there are other means for profiting under its name.

My speculation is that this is yet something else that the honest
career programmer, working out of sensibilities and considerations
based on technical skill and knowledge of existing markets; must fear.

Regards
Madhu
--
"I used to like to go to work but they shut it down
 I got a right to go to work but theres no work here to be found
 Yes, and they say were gonna have to pay whats owed
 We're gonna have to reap from some seed thats been sowed .."
                          -- Mark Knopfler (Dire Straits, Telegraph road)
From: Kent M Pitman
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <sfw8ylq2daw.fsf@shell01.TheWorld.com>
Madhu <·····@cs.unm.edu> writes:

Interesting post.  Thanks.

> One of the outcomes of the dot-com boom and subsequent bust seems to
> be the emergence of well understood theory and practice of ``making
> money off the inefficiencies in the period to rationalization.''

Not only is this true, but I think that in general the economy always
makes money off of inefficiency.  Consider that, notwithstanding the
initial actual and often horrific losses that precipitate them,
natural disasters usually lead to a period of economic boom as people
rebuild.  I have often wondered if truly unfettered capitalism would
work as well as it's billed to (ignoring fairness of who gets the money)
since it occurs to me that someone vicious might get all the marbles and
then would have the ability to make things truly efficient and suddenly
find he had no one to sell to and just the big responsibility of taking
care of the world.... or something like that.  I'm probably oversimplifying.
This is just a thought I've been mulling for a while and I'm articulating
it clumsily, but your comment reminded me.

> Maybe The dotcom phenomenon is profitably repeatable in many 3rd
> world countries for many years to come, and much investment appears
> to be geared to this process. Technology itself can afford to take a
> backseat when there are other means for profiting under its name.

I'm quite sure this is so, although it's not as straightforward as it 
sounds to get rich, since the barriers in each case are different and 
that changes the nature of the game.  (Europe is not third world, so is
maybe not what you mean, but there was a belief that Europe in 1992 was
going to suddenly zoom ahead and become the big player.  That didn't 
happen in exactly the projected way... then again, to take your analysis
truly literally, perhaps that's because they were eliminating instead of
creating barriers. :)  In other areas of the world, there are substantial
barriers to getting to the point where technology is relevant.  There are
issues of language, of work ethic, of business custom and prevailing law,
of corruption, etc. that become variables so large as to obscure the easy
measuring of the effect you cite, even though I bet the effect you mention
is a real one.

> My speculation is that this is yet something else that the honest
> career programmer, working out of sensibilities and considerations
> based on technical skill and knowledge of existing markets; must fear.

I'm sure you're probably right on this.  That is, if I were smart, I'd
probably be even more paranoid than I am now. ;)

Our lifespans are not long enough to really await all the 
rationalization process to subside.  And, necessarily, I think that 
process will ultimately pull us down a little as we pull others up.  
Just as the Sun attracts the Moon, the Moon also attracts the Sun.
Of course, economics is not zero-sum as is gravity, but I still think
at least some of our profit and success comes from our having had various
accidental monopolies on things that I don't think we'll hold monopolies
on.  But I somehow don't mind competing against business people and enduring
some amount of "fair" offshoring.  (I do mind enduring it where the people
offshore are competing by not having to be environmentally conscious
or by not having to pay slave labor.  Those are not level playing fields.)
What I mind is being part of a community that itself seems to me to be
acting unintelligently, and I wish it would stand down in its apparent
unilateral decision to give away something of value to the point where 
there's nothing left to charge for.

Empowered and economically empowered are two different things.  With free
software, I can have the tools to do awesome things, but I still in a great
many cases can't charge money for those cases.  That's not economically
empowered.  That's more like having the equivalent of a breeder reactor
for drugs, where every time  you take a hit of cocaine it makes two more
hits and pretty soon everyone can have drugs at no cost.  So what?  Who does
it serve?  If I'm totally empowered with computers, but computers are 
economically useless so I still have to have a day job as a janitor, my life
is not improved.  If I'm totally empowered with computers, and computers
include robots, they do the janitoring, there's not even a job for me.  I
don't see the upside of making software "free" when all software will 
ultimately do is replace every job that can be done by a human.
From: Frank A. Adrian
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <pan.2003.12.06.18.22.37.923772@ancar.org>
On Sat, 06 Dec 2003 10:09:27 -0500, Kent M Pitman wrote:

> I have often wondered if truly unfettered capitalism would
> work as well as it's billed to (ignoring fairness of who gets the money)
> since it occurs to me that someone vicious might get all the marbles and
> then would have the ability to make things truly efficient and suddenly
> find he had no one to sell to and just the big responsibility of taking
> care of the world.... or something like that.

Truly unfettered capitalism always ends up looking a lot like feudalism.
You get a very few extremely well off people who employ private
security/armies to hold their wealth, a huge number of peasants and
subsistance workers who are dependent on the same to keep their lives, and
the bare minimum of a middle class (you need a small one to grease the
wheels between top and bottom and to have a minimally viable economy,
but you also have to minimize this "wild card" element, lest the system
become too unstable). The regression to feudalism is a natural consequence
of the commonality of wealth and power in an economic society.  The only
way to prevent a slide into feudalism is a constitutional government and
a bounded system of wealth redistribution. Why some people don't
understand this and think that "truly unfettered capitalism" is a good
thing is something that I really don't understand. It must be that their
minds are a little too simple to accept that a solution for a messy world
must be a little bit messy in its own right.

faa
From: Nils Gösche
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <87oeukvphd.fsf@darkstar.cartan.de>
"Frank A. Adrian" <·······@ancar.org> writes:

> On Sat, 06 Dec 2003 10:09:27 -0500, Kent M Pitman wrote:
> 
> > I have often wondered if truly unfettered capitalism would work as
> > well as it's billed to (ignoring fairness of who gets the money)
> > since it occurs to me that someone vicious might get all the
> > marbles and then would have the ability to make things truly
> > efficient and suddenly find he had no one to sell to and just the
> > big responsibility of taking care of the world.... or something
> > like that.
> 
> Truly unfettered capitalism always ends up looking a lot like
> feudalism.  You get a very few extremely well off people who employ
> private security/armies to hold their wealth, a huge number of
> peasants and subsistance workers who are dependent on the same to
> keep their lives, and the bare minimum of a middle class (you need a
> small one to grease the wheels between top and bottom and to have a
> minimally viable economy, but you also have to minimize this "wild
> card" element, lest the system become too unstable).  The regression
> to feudalism is a natural consequence of the commonality of wealth
> and power in an economic society.

Wow, you must be the last man on earth still believing what he was
told in his Maoist seminars.  This is all the more ironic as your
description actually fits the socialist societies the people whose
theories you are repeating here had created much better than any
capitalist society ever existing.

> The only way to prevent a slide into feudalism is a constitutional
> government and a bounded system of wealth redistribution. Why some
> people don't understand this and think that "truly unfettered
> capitalism" is a good thing is something that I really don't
> understand. It must be that their minds are a little too simple to
> accept that a solution for a messy world must be a little bit messy
> in its own right.

Classical liberal theorists have been producing, over the course of
several centuries, many huge tomes on the subject of economic, legal
and state philosophy, explaining in every detail how the economy
works, how it develops, and why we need a constitutional government.
But I guess when you read what, say, John Stuart Mill, Ludwig von
Mises, Friedrich Hayek and Milton Friedman had to say on the subject,
you were so put off by their simple, little minds that you decided to
stick with your lecture notes instead, right?

Look, if you really want to keep up the old Marxist theories on the
effects of capitalism, that's fine: A great lot of intelligent people
had made this mistake in the past.  It would look at lot better,
though, if you wouldn't operate under the assumption that people who
don't are all stupid and/or evil.

Regards,
-- 
Nils G�sche
"Don't ask for whom the <CTRL-G> tolls."

PGP key ID #xEEFBA4AF
From: Frank A. Adrian
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <pan.2003.12.07.18.38.42.368887@ancar.org>
On Sun, 07 Dec 2003 12:25:50 +0100, Nils G�sche wrote:

> Look, if you really want to keep up the old Marxist theories on the
> effects of capitalism, that's fine: A great lot of intelligent people
> had made this mistake in the past.  It would look at lot better,
> though, if you wouldn't operate under the assumption that people who
> don't are all stupid and/or evil.

I apologize for the assumption.  But I do believe that the worship of free
markets has done nothing to halt the current slide into corporate
feudalism that I see going on.  All I see from you is the counter-labeling
of myself as a Marxist/Maoist which, BTW, I am not.

faa
From: Pascal Bourguignon
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <87smjw78el.fsf@thalassa.informatimago.com>
"Frank A. Adrian" <·······@ancar.org> writes:

> On Sun, 07 Dec 2003 12:25:50 +0100, Nils G�sche wrote:
> 
> > Look, if you really want to keep up the old Marxist theories on the
> > effects of capitalism, that's fine: A great lot of intelligent people
> > had made this mistake in the past.  It would look at lot better,
> > though, if you wouldn't operate under the assumption that people who
> > don't are all stupid and/or evil.
> 
> I apologize for the assumption.  But I do believe that the worship of free
> markets has done nothing to halt the current slide into corporate
> feudalism that I see going on.  All I see from you is the counter-labeling
> of myself as a Marxist/Maoist which, BTW, I am not.

Corporate  feudalism  would not  be  possible  without statism,  state
protection of state  assigned monopoles (patents, copyrights, tariffs,
subsides, state contracts payed with money stollen from people, etc).


-- 
__Pascal_Bourguignon__                              .  *   * . * .* .
http://www.informatimago.com/                        .   *   .   .*
                                                    * .  . /\  ()  . *
Living free in Alaska or in Siberia, a               . .  / .\   . * .
grizzli's life expectancy is 35 years,              .*.  / *  \  . .
but no more than 8 years in captivity.                . /*   o \     .
http://www.theadvocates.org/                        *   '''||'''   .
SCO Spam-magnet: ··········@sco.com                 ******************
From: Frank A. Adrian
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <pan.2003.12.08.00.20.13.623094@ancar.org>
On Sun, 07 Dec 2003 20:08:34 +0100, Pascal Bourguignon wrote:

> Corporate  feudalism  would not  be  possible  without statism,  state
> protection of state  assigned monopoles (patents, copyrights, tariffs,
> subsides, state contracts payed with money stollen from people, etc).

Power is power. Whether granted by the state or acquired via wealth
derived from trade, it tends to corrupt and some check needs to put upon
it.  I have no desire for a huge and intrusive government but, given that
government seems to be the only brake upon acquisition of unlimited power
(short of revolution) by mercantilists, I'll take my chances with it.

faa
From: Kent M Pitman
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <sfwk758ffx7.fsf@shell01.TheWorld.com>
···@cartan.de (Nils G�sche) writes:

> "Frank A. Adrian" <·······@ancar.org> writes:
>
> > Truly unfettered capitalism always ends up looking a lot like
> > feudalism.  You get a very few extremely well off people who employ
> > private security/armies to hold their wealth, a huge number of
> > peasants and subsistance workers who are dependent on the same to
> > keep their lives, and the bare minimum of a middle class (you need a
> > small one to grease the wheels between top and bottom and to have a
> > minimally viable economy, but you also have to minimize this "wild
> > card" element, lest the system become too unstable).  The regression
> > to feudalism is a natural consequence of the commonality of wealth
> > and power in an economic society.
> 
> Wow, you must be the last man on earth still believing what he was
> told in his Maoist seminars.  This is all the more ironic as your
> description actually fits the socialist societies the people whose
> theories you are repeating here had created much better than any
> capitalist society ever existing.

Do we know of any truly unfettered capitalism or even of support for
such?  Geez, I'm on the side of defending modified capitalism as a
workable paradigm, and yet I don't want to see unfettered capitalism
about.  I don't think anyone does.  Antitrust laws, laws on insider
trading, statutes of frauds, etc. are all things that are ubiquitously
accepted as necessary restraints on "unfettered" capitalism, such that
I have no problem with Frank's summary here... I don't think he's talking
about a real world situation here.  But if we had no restrictions on 
capitalism, this might not be far from the truth.

Perhaps it's just that subtle difference that makes ultra-left theories
of the evils of capitalism be a bit off base.  Then again, perhaps it's
the closed-mindedness of some capitalists to further tweaking that keeps
the critics of capitalism in business.  Seems to me like there's ground
to give on both sides.
From: Nils Gösche
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <87n0a4vy2g.fsf@darkstar.cartan.de>
Kent M Pitman <······@nhplace.com> writes:

> ···@cartan.de (Nils G�sche) writes:
> 
> > "Frank A. Adrian" <·······@ancar.org> writes:
> >
> > > Truly unfettered capitalism always ends up looking a lot like
> > > feudalism.  You get a very few extremely well off people who
> > > employ private security/armies to hold their wealth, a huge
> > > number of peasants and subsistance workers who are dependent on
> > > the same to keep their lives, and the bare minimum of a middle
> > > class (you need a small one to grease the wheels between top and
> > > bottom and to have a minimally viable economy, but you also have
> > > to minimize this "wild card" element, lest the system become too
> > > unstable).  The regression to feudalism is a natural consequence
> > > of the commonality of wealth and power in an economic society.
> > 
> > Wow, you must be the last man on earth still believing what he was
> > told in his Maoist seminars.
> 
> Do we know of any truly unfettered capitalism or even of support for
> such?  Geez, I'm on the side of defending modified capitalism as a
> workable paradigm, and yet I don't want to see unfettered capitalism
> about.

More and more, I am getting the impression that everybody in this
(sub-)thread has his own idea of what "unfettered" means here :-)

> I don't think anyone does.  Antitrust laws, laws on insider trading,
> statutes of frauds, etc. are all things that are ubiquitously
> accepted as necessary restraints on "unfettered" capitalism,

Well, actually they aren't.  But that's not why I growled a little
bit :-)

> such that I have no problem with Frank's summary here...

Note that I have no problem with wondering whether "unfettered
capitalism" is or is not a good idea.  Certain restraints on
capitalism might very well be a good thing.  Economists describe how
the market forces work, and we might or might not like where they lead
us in particular cases.  And if we don't like it, we can ask if
government invention could improve things.  Then, of course, we'd
again have to ask ourselves what the economic effects of government
intervention would be, and if we really like the outcome more, I'd say
go ahead and intervene.

But it is important that when we make our economic predictions, we
make our predictions based on the best economic theories we have.
Otherwise, we'd base our actions on wrong predictions and will do more
harm than good.

Now when somebody predicts that "unfettered capitalism" will lead to
starving masses and a handful of ultra-rich people who are so powerful
that they apparently even can decide who will belong to the middle
class and who won't, this prediction is not based on any economic
theory except one: Marxism (if we really want to call that an economic
theory).  When it is even coming hand-in-hand with predictions about
how changes in economic structures will necessarily lead to something
like a "regression to feudalism", I cannot help noticing that there is
no theory at all speaking in such terms, except one: Marxism again,
specifically its particularly nutty sub-department called "dialectical
materialism".

I think we should base our considerations on something less insane
than that, and that's why I growled.  Oh, and that remark about how
people not thinking in such terms must all have "simple minds".  I
have heard that a thousand times before, too: From Marxists, each
time.

Regards,
-- 
Nils G�sche
"Don't ask for whom the <CTRL-G> tolls."

PGP key ID #xEEFBA4AF
From: Fred Gilham
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <u765grett9.fsf@snapdragon.csl.sri.com>
> > Do we know of any truly unfettered capitalism or even of support
> > for such?  Geez, I'm on the side of defending modified capitalism
> > as a workable paradigm, and yet I don't want to see unfettered
> > capitalism about.
> 
> More and more, I am getting the impression that everybody in this
> (sub-)thread has his own idea of what "unfettered" means here :-)

What nobody has pointed out yet is that we've seen several examples in
the 20th century of unfettered government.  The results have not been
pretty.  Thus, I would say that experience shows us that as
Washingtons go, DC is provably far more dangerous than Redmond.  I
would venture to guess, if I may steal a turn of phrase, that there
are probably not ten hand grenades in all of Microsoft.

-- 
Fred Gilham                                       ······@csl.sri.com
I know the strange tale of the Slug; / the Early Sin -- the Fall --
the Sleep -- the Vision -- and the Vow -- / the Quest -- the Crown --
the Call.                                      --- G. K. Chesterton
From: Fred Gilham
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <u7brqiui0s.fsf@snapdragon.csl.sri.com>
Here's an interesting quotation from an article on the Supreme Court
justices who (rightly) found much of the New Deal unconstitutional.
Unfortunately while FDR lost the "court packing" battle he won the
war as the constitutionalists on the court retired....

He distinguishes between intellectuals who care more about first
amendment rights and the ordinary person for whom economic liberty is
more crucial.


     The most impressive thinker was George Sutherland, a champion of
     natural rights jurisprudence. He believed the most important
     function of law was to protect individual liberty by restraining
     government power --- historically, the biggest threat to liberty
     everywhere. Sutherland understood that for ordinary people,
     economic liberty was generally the most important
     liberty. Intellectuals tended to rate First Amendment liberties
     more highly because they spoke out publicly and published their
     political views, but every individual's livelihood depended on
     freedom to choose where to work, where to live, where to travel,
     where to spend money, what to buy and how much to pay. Freedom of
     contract was absolutely essential for all these things. It would
     be hard to find a Supreme Court justice who ever did a better job
     defending economic liberty than George Sutherland.


The whole article is

     http://www.lewrockwell.com/orig4/powell-jim3.html


-- 
Fred Gilham                                         ······@csl.sri.com
If there is one consistent theme to be found in the great works of the
20th century, it seems to me to be the presentation of a doomed quest:
the search to find something capable of filling that great void that
has been left in the soul of man by the repudiation of God.
                                            --- Skylar Hamilton Burris
From: Marco Antoniotti
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <XQrBb.334$KR3.182504@typhoon.nyu.edu>
OT OT OT

Fred Gilham wrote:
> Here's an interesting quotation from an article on the Supreme Court
> justices who (rightly) found much of the New Deal unconstitutional.
> Unfortunately while FDR lost the "court packing" battle he won the
> war as the constitutionalists on the court retired....
> 
> He distinguishes between intellectuals who care more about first
> amendment rights and the ordinary person for whom economic liberty is
> more crucial.
> 
> 
>      The most impressive thinker was George Sutherland, a champion of
>      natural rights jurisprudence. He believed the most important
>      function of law was to protect individual liberty by restraining
>      government power --- historically, the biggest threat to liberty
>      everywhere. Sutherland understood that for ordinary people,
>      economic liberty was generally the most important
>      liberty. Intellectuals tended to rate First Amendment liberties
>      more highly because they spoke out publicly and published their
>      political views, but every individual's livelihood depended on
>      freedom to choose where to work, where to live, where to travel,

Does it mean that my Visa status is uncostitutional? :)

>      where to spend money, what to buy and how much to pay. Freedom of
>      contract was absolutely essential for all these things. It would
>      be hard to find a Supreme Court justice who ever did a better job
>      defending economic liberty than George Sutherland.

Apart from that, what if anybody's "economic choice" possibilities are 
limited by the historical contingency?  There *is* a tension between 
these concepts.

Cheers
--
marco
From: Coby Beck
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <br1bit$2209$1@otis.netspace.net.au>
"Nils G�sche" <···@cartan.de> wrote in message
···················@darkstar.cartan.de...
> I think we should base our considerations on something less insane
> than that, and that's why I growled.  Oh, and that remark about how
> people not thinking in such terms must all have "simple minds".  I
> have heard that a thousand times before, too: From Marxists, each
> time.

Given my anecdotal evidence of how you identify people as marxists, I am
very confident in reassuring you they are fewer than you think.

Cheers,

-- 
Coby Beck
(remove #\Space "coby 101 @ big pond . com")
From: Nils Gösche
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <87fzfv35oi.fsf@darkstar.cartan.de>
"Coby Beck" <·····@mercury.bc.ca> writes:

> "Nils G�sche" <···@cartan.de> wrote in message
> ···················@darkstar.cartan.de...

> > I think we should base our considerations on something less insane
> > than that, and that's why I growled.  Oh, and that remark about
> > how people not thinking in such terms must all have "simple
> > minds".  I have heard that a thousand times before, too: From
> > Marxists, each time.
> 
> Given my anecdotal evidence of how you identify people as marxists,
> I am very confident in reassuring you they are fewer than you think.

I can only conclude that you have not been listening very well, then.
Or maybe I haven't been clear enough.  It is indeed not like whenever
you throw a stone out of a window, you'll hit a Marxist (the Cold War
would have been much easier to win, then).  I am not "identifying
people as Marxists", I am identifying traces of Marxist thinking.  I
would like people in general to be more aware of their implicit
assumptions, and the sources of these assumptions.  The vast majority
of people does indeed not base their political opinions and beliefs on
Marxism or any other theoretical system, at least not consciously.
But their thinking has been formed and influenced in the schools and
universities they attended.  And it is a sad fact that at least in
those faculties dealing with politics and society, the number of
Marxists is very high, since the 1970s.  They do influence people, and
I think it is sad that most people are not even aware of where many of
the ideas and notions they base their considerations on come from.

To give an example, most people claiming that capitalism is somehow
"inherently unstable", leading to worse and worse crises and ever
growing masses of poor people unless the government intervenes and
actively redistributes wealth, are not making this claim because they
have intensively studied economics and understand the exact mechanism
leading to these economic predictions, but they are simply repeating a
claim made by some Marxist teacher, who said that this was an
"established fact", or they are repeating a claim made by some
journalist, who was in turn repeating this teacher's claim.  When I
then growl that they should stop spouting this kind of Marxist
propaganda, what I am hoping for (in vain in most, but not all, cases,
naturally) is that they start to think, and read, about how exactly
this process they are describing actually works (or doesn't, rather).
I am quite confident that this would lead to improvement because, as
you say, there are not that many true Marxists out there, and so it is
rather unlikely that they will grab a copy of Marx' Capital to find
out what they want to know.  Much more likely, they'll grab a textbook
on Basic Economics (check out Thomas Sowell's book with this very
title, for instance) which will correct many more of their misguided
beliefs than I ever could over USENET :-)

Regards,
-- 
Nils G�sche
"Don't ask for whom the <CTRL-G> tolls."

PGP key ID #xEEFBA4AF
From: Paul Foley
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <m2ptf0b5pr.fsf@mycroft.actrix.gen.nz>
On 07 Dec 2003 16:59:00 -0500, Kent M Pitman wrote:

> ···@cartan.de (Nils G�sche) writes:
>> "Frank A. Adrian" <·······@ancar.org> writes:
>> 
>> > Truly unfettered capitalism always ends up looking a lot like
>> > feudalism.  You get a very few extremely well off people who employ
>> > private security/armies to hold their wealth, a huge number of
>> > peasants and subsistance workers who are dependent on the same to
>> > keep their lives, and the bare minimum of a middle class (you need a
>> > small one to grease the wheels between top and bottom and to have a
>> > minimally viable economy, but you also have to minimize this "wild
>> > card" element, lest the system become too unstable).  The regression
>> > to feudalism is a natural consequence of the commonality of wealth
>> > and power in an economic society.

You're not talking about "truly unfettered capitalism", you're talking
about the kind of "truly fettered capitalism" we have now -- fettered
by government imposition of legal monopolies, restrictions on free
trade, etc.; that's not at all the same thing!

>> Wow, you must be the last man on earth still believing what he was
>> told in his Maoist seminars.  This is all the more ironic as your
>> description actually fits the socialist societies the people whose
>> theories you are repeating here had created much better than any
>> capitalist society ever existing.

> Do we know of any truly unfettered capitalism or even of support for
> such?  Geez, I'm on the side of defending modified capitalism as a
> workable paradigm, and yet I don't want to see unfettered capitalism
> about.  I don't think anyone does.  Antitrust laws, laws on insider
> trading, statutes of frauds, etc. are all things that are ubiquitously
> accepted as necessary restraints on "unfettered" capitalism, such that

No they're not (except for fraud).  Not by sensible economists.
Visit http://www.mises.org

-- 
You don't have to agree with me; you can be wrong if you want.

(setq reply-to
  (concatenate 'string "Paul Foley " "<mycroft" '(··@) "actrix.gen.nz>"))
From: Marco Antoniotti
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <EU3Bb.324$KR3.181636@typhoon.nyu.edu>
Nils G�sche wrote:


> Classical liberal theorists have been producing, over the course of
> several centuries, many huge tomes on the subject of economic, legal
> and state philosophy, explaining in every detail how the economy
> works, how it develops, and why we need a constitutional government.
> But I guess when you read what, say, John Stuart Mill, Ludwig von
> Mises, Friedrich Hayek and Milton Friedman had to say on the subject,
> you were so put off by their simple, little minds that you decided to
> stick with your lecture notes instead, right?

Aren't we missing Keynes from this list?  Galbraith? What about the more 
recent Steiglitz?
Keynes polemized very ironically with the marxists of his days, but he 
undoubtedly did read Marx.  Shall we also remember what Friedman wrote 
on the preface of "Freedom to choose" about the "equivalence" of 
democracy and the "free market", only to observe (as Galbraith did) the 
invisible hand at work in the Chile of the 70's, 80's and 90's and in 
the Popular Republic of China?

Or, maybe the people I wrote about were a little less interested in 
ideology and a little more in the observation of the world? (Something 
that Marx, but not very many marxists afterward, did.)

Cheers
--
Marco
From: Nils Gösche
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <8765grc7bw.fsf@darkstar.cartan.de>
Marco Antoniotti <·······@cs.nyu.edu> writes:

> Nils G�sche wrote:
> 
> > But I guess when you read what, say, John Stuart Mill, Ludwig von
> > Mises, Friedrich Hayek and Milton Friedman had to say on the
> > subject, you were so put off by their simple, little minds that
> > you decided to stick with your lecture notes instead, right?
> 
> Aren't we missing Keynes from this list?  Galbraith? What about the
> more recent Steiglitz?

Uhm, what about them?  It wasn't meant to be an exhaustive list.  I
listed some people as examples for people whom nobody who read them
would call stupid even though they dared to have opinions the Marxists
don't like.  It's called "proof by counterexample".  So, one would
have been enough, in fact.

> Keynes polemized very ironically with the marxists of his days, but
> he undoubtedly did read Marx.

So?  Everybody read Marx.  Hey, even I did :-)

> Shall we also remember what Friedman wrote on the preface of
> "Freedom to choose" about the "equivalence" of democracy and the
> "free market", only to observe (as Galbraith did) the invisible hand
> at work in the Chile of the 70's, 80's and 90's and in the Popular
> Republic of China?

Hm.  Well, you wouldn't have to wait for Galbraith to make that
observation.  What makes market forces interesting is that they work
in every setting where lots of humans interact; they worked quite
obviously even in the Soviet Union (much to the dismay of its
leaders).  What is traditionally meant by "Free Market" is rather the
ideal setting that would let the market flourish and the market forces
work without outside interference.  One most important thing you need
for this is property rights, and the Rule of Law to ensure them, and
in a dictatorship you don't have that.  This is most likely what
Friedman meant when he wrote "Free to Choose".  Oh, and Friedman knew
quite well what was going on in Chile, he certainly didn't need
Galbraith to tell him.  What I don't get, though, is why we are
talking about this.

> Or, maybe the people I wrote about were a little less interested in
> ideology and a little more in the observation of the world?

Economics is not ideologic by nature, let alone "ideologic" in the
Marxist sense ;-) It is even rather value-free.  It is a scientific
theory trying to describe how humans in the real world interact
through exchanges, and it has become really good at that.  Obviously
you have to observe the world if you want to create such a theory.

> (Something that Marx, but not very many marxists afterward, did.)

He may have observed the world, but it often seemed as if he was
looking only for confirmation ;-)

I guess I have lost track of what the point of this discussion is.
What do you want me to say?  That I don't like Keynesian economics?
No, I don't, because I think it is theoretically unsound and fails to
describe what we see in the real world; but as almost every economist
in the world agrees to this today, I don't see why we have to discuss
this.

Regards,
-- 
Nils G�sche
"Don't ask for whom the <CTRL-G> tolls."

PGP key ID #xEEFBA4AF
From: Marco Antoniotti
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <qZlBb.328$KR3.182483@typhoon.nyu.edu>
OT OT OT OT

Nils G�sche wrote:
> Marco Antoniotti <·······@cs.nyu.edu> writes:
> 
> 
>>Nils G�sche wrote:
>>
>>
>>>But I guess when you read what, say, John Stuart Mill, Ludwig von
>>>Mises, Friedrich Hayek and Milton Friedman had to say on the
>>>subject, you were so put off by their simple, little minds that
>>>you decided to stick with your lecture notes instead, right?
>>
>>Aren't we missing Keynes from this list?  Galbraith? What about the
>>more recent Steiglitz?
> 
> 
> Uhm, what about them?  It wasn't meant to be an exhaustive list.  I
> listed some people as examples for people whom nobody who read them
> would call stupid even though they dared to have opinions the Marxists
> don't like.  It's called "proof by counterexample".  So, one would
> have been enough, in fact.
> 
> 
>>Keynes polemized very ironically with the marxists of his days, but
>>he undoubtedly did read Marx.
> 
> 
> So?  Everybody read Marx.  Hey, even I did :-)
> 
> 
>>Shall we also remember what Friedman wrote on the preface of
>>"Freedom to choose" about the "equivalence" of democracy and the
>>"free market", only to observe (as Galbraith did) the invisible hand
>>at work in the Chile of the 70's, 80's and 90's and in the Popular
>>Republic of China?
> 
> 
> Hm.  Well, you wouldn't have to wait for Galbraith to make that
> observation.  What makes market forces interesting is that they work
> in every setting where lots of humans interact; they worked quite
> obviously even in the Soviet Union (much to the dismay of its
> leaders).  What is traditionally meant by "Free Market" is rather the
> ideal setting that would let the market flourish and the market forces
> work without outside interference.  One most important thing you need
> for this is property rights, and the Rule of Law to ensure them, and
> in a dictatorship you don't have that.  This is most likely what
> Friedman meant when he wrote "Free to Choose".  Oh, and Friedman knew
> quite well what was going on in Chile, he certainly didn't need
> Galbraith to tell him.  What I don't get, though, is why we are
> talking about this.

Because while Galbraith (just to use him has a "heroic" figure) did not 
make the extra unnecessary and ideological step of equating "democracy" 
with the "free market".  We are discussing this because the champoions 
of "lassaiz-faire" economics, most often, insist on this point. 
(Incidentally Friedman said very notable things: e.g. his position about 
  the drug "market" makes much more sense than keep helping various 
Mafia bosses getting rich)

>>Or, maybe the people I wrote about were a little less interested in
>>ideology and a little more in the observation of the world?
> 
> 
> Economics is not ideologic by nature, let alone "ideologic" in the
> Marxist sense ;-) It is even rather value-free.  It is a scientific
> theory trying to describe how humans in the real world interact
> through exchanges, and it has become really good at that.  Obviously
> you have to observe the world if you want to create such a theory.

You are getting into a debate which has been waged for years.  The 
"scientifical" nature of Economics is not granted at all.  Economics is 
  often considered not scientific inasmuch none of its theories can be 
actually proven if not ex-post-facto.  The very pretence by Marx of 
coming up with a "scientific" theory of socialism is unfounded, although 
it can be justified from an "historic" viewpoint, that looked back in 
the mid of the 1800.  But this is once again a sort of marxian 
viewpoint. :) Apart from that,  as Steiglitz points rightly out in his 
"Globalization and its Discontents", unfortunately it is the attachment 
to idelogically justified economic theories that cause things like the 
Russian crisis of the late 90's.  Again, ex-post facto.

> 
>>(Something that Marx, but not very many marxists afterward, did.)
> 
> 
> He may have observed the world, but it often seemed as if he was
> looking only for confirmation ;-)
> 
> I guess I have lost track of what the point of this discussion is.
> What do you want me to say?  That I don't like Keynesian economics?
> No, I don't, because I think it is theoretically unsound and fails to
> describe what we see in the real world; but as almost every economist
> in the world agrees to this today, I don't see why we have to discuss
> this.

Again, I report what I read.  The economists sitting in the IMF do not 
seem to have observed the world very recently.  Or maybe they have and 
they do not make the mistake of equating democracy and quality of life 
with "the free market".  And, luckily for you and for all of us, it is 
still the Keynesian institutions - yes, even the IMF - and policies (in 
Europe with a dash of Social-Democratic flair) that keep the boat 
floating, even if Mr. Bush and company keep trying to (and, are able to) 
sink it (or, as they say, "starve the beast").

Cheers
--
marco
From: Tayss
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <5627c6fa.0312091144.36fcb0df@posting.google.com>
···@cartan.de (Nils G�sche) wrote in message news:<··············@darkstar.cartan.de>...
> Economics is not ideologic by nature, let alone "ideologic" in the
> Marxist sense ;-) It is even rather value-free.  It is a scientific
> theory trying to describe how humans in the real world interact
> through exchanges, and it has become really good at that.  Obviously
> you have to observe the world if you want to create such a theory.

I would like to point out that sure, economic theories can be
predictive.  But they do not say you MUST do something, rather that if
you want to accomplish certain goals, there is a set of things you
could reasonably do to effect it, with resulting advantages and
disadvantages.

For example, if you are deciding government policy, you may be willing
to accept (and even desire as an explicit goal) market inefficiency.

So when people talk "economics," are they really discussing public
policy in drag?

This is why I do not always want economists deciding policy as if they
had a right to it.  Just as I wouldn't want a programmer deciding all
apps shall stick with C++ for a century, just to be efficient...
From: Rahul Jain
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <87vfot3ly2.fsf@rice.edu>
Kent M Pitman <······@nhplace.com> writes:

> But I somehow don't mind competing against business people and enduring
> some amount of "fair" offshoring.  (I do mind enduring it where the people
> offshore are competing by not having to be environmentally conscious
> or by not having to pay slave labor.  Those are not level playing fields.)

OTOH, that's exactly how the US was at one point. I'm not advocating
wanton environmental destruction, but we need to acknowledge that there
is a huge and significant economic tradeoff involved. My father moved
into the environmental business from the chemical business for good
reason. Slavery, however, is definitely not an acceptable means of
gaining an economic advantage. However, some people confuse the issue of
making convicted violent criminals work for their living in prison with
the issue of making political rivals work for the establishment's gain
in prison with the issue of capturing people in war or buying children
from their parents and making them work for their owners' gain. One is
acceptable to me. Two are not.

This brings us back to the point of fairness. It's not fair to compare a
country that has grown to be strong enough economically that it has the
freedom to worry about these things to a country that isn't. At the more
understandable personal level, would you care about whether you're
increasing your risk for cancer 20 years down the road when you need to
make some money to pay your rent (assuming you're in danger of being
evicted and already live in the cheapest housing you can afford to move
to)? I think we need to look at these issues in perspective, especially
the perspective of the history of our own country.

--
Rahul Jain
From: Kent M Pitman
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <sfwwu99df79.fsf@shell01.TheWorld.com>
Rahul Jain <·····@rice.edu> writes:

> This brings us back to the point of fairness. It's not fair to compare a
> country that has grown to be strong enough economically that it has the
> freedom to worry about these things to a country that isn't.

In isolation, I'd agree with you.  When the world was young.

But now, the world is threatened by overpopulation.  And we will all
die if environmental issues are not kept in check.  So we HAVE to make
that work.  Moreover, the overpopulation is largely in those
economically impoverished countries.  I agree there's a "share the wealth"
issue, but I don't think it's addressed by ignoring certain problems that
threaten us all.  It's better addressed by investment using surpluses 
from people who succeed under fair rules ... IMO.  But I will agree that
this is a more complex issue than we Lispers are likely to solve.

> At the more understandable personal level, would you care about
> whether you're increasing your risk for cancer 20 years down the
> road when you need to make some money to pay your rent

A fair point.  But this should motivate others to intervene to make these
people's state better, before they ruin it for everyone in trying to survive
the short term.

Probably the "prisoner's dilemma" has something to say to us in this situation.
From: Rahul Jain
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <873cbx3h2e.fsf@rice.edu>
Kent M Pitman <······@nhplace.com> writes:

> Rahul Jain <·····@rice.edu> writes:
>
>> This brings us back to the point of fairness. It's not fair to compare a
>> country that has grown to be strong enough economically that it has the
>> freedom to worry about these things to a country that isn't.
>
> In isolation, I'd agree with you.  When the world was young.
>
> But now, the world is threatened by overpopulation.  And we will all
> die if environmental issues are not kept in check.  So we HAVE to make
> that work.  Moreover, the overpopulation is largely in those
> economically impoverished countries.

Yes, that is a good point. Back then, there really wasn't anywhere in
the world where these issues were considered, so maybe *that* comparison
isn't fair either. Then again, few comparisons are completely fair, as
"history doesn't repeat itself, but it rhymes."

> I agree there's a "share the wealth" issue, but I don't think it's
> addressed by ignoring certain problems that threaten us all.

Absolutely. I never advocated completely ignoring the issue, but it's a
really difficult tradeoff and needs to be

> It's better addressed by investment using surpluses from people who
> succeed under fair rules ... IMO.

That would mean that American companies would have to invest in
environmental engineering in Asia, if I understand you correctly. As
environmental engineering is a losing venture in the short-term, adding
to expenses without necessarily providing more revenue, I don't know how
you'd plan to achieve this.

In the US, it was achieved by a series of legal changes which
artificially created the demand for a new industry. If you asked someone
in 1900 to invest in techniques for reducing the pollution from
coal-burning, he would probably die laughing. I think it was probably
the fact that the country was so well-off that we were at the point
where we could afford to hurt our economy in the short term for a long
term gain in both quality of life and sustainability of the economy.

> But I will agree that this is a more complex issue than we Lispers are
> likely to solve.

Sure, but in a republic, we need to be able to understand some of the
issues involved so that we can do more than have "faith" in our elected
officials. However, I do think that we're getting a bit off topic.

>> At the more understandable personal level, would you care about
>> whether you're increasing your risk for cancer 20 years down the
>> road when you need to make some money to pay your rent
>
> A fair point.  But this should motivate others to intervene to make these
> people's state better, before they ruin it for everyone in trying to survive
> the short term.

I wouldn't say that the US is "ruined".

The fact that many Asian countries don't have environmental legislation
or that the executive branch is so corrupt that people can get away with
violating those legislations gives them an economic advantage when it
comes to these industries. This allows the lower classes to have more
job opportunities and will bring up their standard of living to the
point where they have the luxury to worry about the long-term.

Fortunately, the technology will be ready and advanced enough
as a result of the needs in the currently-developed countries that the
developing countries will be able to afford the hit of these regulations
at a much earlier stage then we could.

If we try to force them to adopt these laws now, the economic advantage
that those countries have will be mostly negated. The bulk of the cost
will be the same as it would be in the US, due to the need to bring in
experienced environmental engineers (which are practically non-existent
in the developing countries, for good reason). All that has happened is
that you have deprived their lower class the opportunity to reap the
benefit of their destitution in order to escape from it.

> Probably the "prisoner's dilemma" has something to say to us in this
> situation.

Maybe so, but there are many more variables in even a rudimentary
treatment of this issue and I'm tired of this discussion. :)

--
Rahul Jain
From: Don Geddis
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <873cbv7tes.fsf@sidious.geddis.org>
Kent M Pitman <······@nhplace.com> writes:
> Our lifespans are not long enough to really await all the 
> rationalization process to subside.

Reminds me of this:
        Markets can remain irrational longer than you can remain solvent.
                -- John Maynard Keynes

> If I'm totally empowered with computers, but computers are economically
> useless so I still have to have a day job as a janitor, my life is not
> improved.  If I'm totally empowered with computers, and computers include
> robots, they do the janitoring, there's not even a job for me.  I don't see
> the upside of making software "free" when all software will ultimately do
> is replace every job that can be done by a human.

You describe a dystopia, but (for example) the "Star Trek" TV shows (and much
other science fiction) suggest a utopia outcome to computers being able to
do all current human jobs.

The theory goes roughly that all prices, in essense, drop to zero for all
goods.  The source of scarcity eventually can get tracked down to hours of
human labor required, and if goods can be produced with zero human labor, then
they wind up over time with zero cost.  The basic resources like energy and
raw materials can come from space (solar or nuclear; asteroids) ... which
themselves can be acquired at zero cost.

The final state is that, yes, you no longer have a job and have zero income.
But all your material needs have zero cost, so you want for nothing.  The
question then becomes, how do you want to spend the limited hours of your
life?  You basically become an artist of some kind, exploring human experience
for its own sake.

It's probably too early to tell whether the world will turn into a utopia or
dystopia as computers can do more of our jobs, but I at least wanted to point
out that it's not obvious that it would necessarily be a bad thing.

        -- Don
_______________________________________________________________________________
Don Geddis                  http://don.geddis.org/               ···@geddis.org
You see, wire telegraph is a kind of a very, very long cat. You pull his tail
in New York and his head is meowing in Los Angeles.  Do you understand this?
And radio operates exactly the same way: you send signals here, they receive
them there.  The only difference is that there is no cat.
	-- Albert Einstein, when asked to describe radio
From: Paul Wallich
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <br21e2$4b1$1@reader2.panix.com>
Don Geddis wrote:

> The final state is that, yes, you no longer have a job and have zero income.
> But all your material needs have zero cost, so you want for nothing.  The
> question then becomes, how do you want to spend the limited hours of your
> life?  You basically become an artist of some kind, exploring human experience
> for its own sake.
> 
> It's probably too early to tell whether the world will turn into a utopia or
> dystopia as computers can do more of our jobs, but I at least wanted to point
> out that it's not obvious that it would necessarily be a bad thing.

The catch with that is that money is currently the medium by which we 
allocate the supply of necessary goods, so unless you posit an enormous 
somebody-sponsored distribution system, having zero income is a problem. 
In this and previous eras, there's also the issue of certain goods and 
services being "worth" more specifically because they are provided by a 
human being, even if by some objective measure the quality is poorer. 
There will probably be a push to perpetuate social and economic 
structures that allow such conspicuous consumption to continue.

paul   local maxima, anyone
From: Don Geddis
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <87pteywu8v.fsf@sidious.geddis.org>
I wrote:
> > The final state is that, yes, you no longer have a job and have zero
> > income.  But all your material needs have zero cost, so you want for
> > nothing.

Paul Wallich <··@panix.com> writes:
> The catch with that is that money is currently the medium by which we
> allocate the supply of necessary goods

Not "necessary" goods.  Economics is the allocation of "scarce" goods.
Oxygen is also necessary, but is not allocated via money.

> so unless you posit an enormous somebody-sponsored distribution system,
> having zero income is a problem.

The suggestion is that most goods become no longer scarce, hence don't require
money is order to acquire them.  The distribution system itself is just a
non-scarce good in this same way, so it also wouldn't require money to get
them delivered, if that's your concern.  (Perhaps I missed your point.)

> In this and previous eras, there's also the issue of certain goods and
> services being "worth" more specifically because they are provided by a
> human being, even if by some objective measure the quality is poorer. There
> will probably be a push to perpetuate social and economic structures that
> allow such conspicuous consumption to continue.

Oh, no question.  People will invent artificial scarcity just to have something
that rich people can afford and poor people can't.  Diamonds are this way
today.  Or cultured pearls vs. natural pearls.

But Kent's original concern (as I understood it) was that a computer would one
day do his job better than him, so he could no longer earn a living.  And then
would become a homeless, destitute, unfortunate creature.  All I meant to say
was that in such a world he could probably acquire a place to live, plenty of
food to eat, a television, etc.  (Because all these things would be effectively
free.)

You may be right that he wouldn't be able to acquire/afford goods that still
required human labor.  But perhaps he could trade his own human labor for them.
You're now imagining that some people value inferior human-made goods even over
objectively superior machine-made ones.  So it doesn't matter that a computer
can program better than Kent; perhaps some customers would pay extra for
human-written software :-).

More likely, they would pay for human interaction: he could be a waiter or
bridge partner or bowling buddy or ski companion; the money he would earn there
would pay for the occasional hand-made scarf that he desires.

Not such a bad world...

        -- Don
_______________________________________________________________________________
Don Geddis                  http://don.geddis.org/               ···@geddis.org
When you starve with a tiger, the tiger starves last.  -- Griffin's Thought
From: Paul Wallich
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <br4kck$20u$1@reader2.panix.com>
Don Geddis wrote:

> I wrote:
> 
>>>The final state is that, yes, you no longer have a job and have zero
>>>income.  But all your material needs have zero cost, so you want for
>>>nothing.
> 
> 
> Paul Wallich <··@panix.com> writes:
> 
>>The catch with that is that money is currently the medium by which we
>>allocate the supply of necessary goods
> 
> 
> Not "necessary" goods.  Economics is the allocation of "scarce" goods.
> Oxygen is also necessary, but is not allocated via money.
> 
> 
>>so unless you posit an enormous somebody-sponsored distribution system,
>>having zero income is a problem.
> 
> 
> The suggestion is that most goods become no longer scarce, hence don't require
> money is order to acquire them.  The distribution system itself is just a
> non-scarce good in this same way, so it also wouldn't require money to get
> them delivered, if that's your concern.  (Perhaps I missed your point.)

I may have made it only implicitly. There's a fundamental difference 
between a system with nonzero prices and a system with prices set at 
zero (which is also unlikely to exist as long as there are _any_ scarce 
goods, included among those real estate and specific human labor). As 
long as prices are nonzero, even if very low, having ways to earn money 
is going to be important to people. (And of course as prices of goods 
decline, so will most wages, so there's no guarantee of a decline in 
real prices for most people)
...
> But Kent's original concern (as I understood it) was that a computer would one
> day do his job better than him, so he could no longer earn a living.  And then
> would become a homeless, destitute, unfortunate creature.  All I meant to say
> was that in such a world he could probably acquire a place to live, plenty of
> food to eat, a television, etc.  (Because all these things would be effectively
> free.)
> 
> You may be right that he wouldn't be able to acquire/afford goods that still
> required human labor.  But perhaps he could trade his own human labor for them.
> You're now imagining that some people value inferior human-made goods even over
> objectively superior machine-made ones.  So it doesn't matter that a computer
> can program better than Kent; perhaps some customers would pay extra for
> human-written software :-).
> 
> More likely, they would pay for human interaction: he could be a waiter or
> bridge partner or bowling buddy or ski companion; the money he would earn there
> would pay for the occasional hand-made scarf that he desires.
> 
> Not such a bad world...

That sounds like a pretty horrible world to me, rather like regency 
england, with the few remaining people who somehow had access to serious 
  stores of money (and you still haven't explained who they are) playing 
the part of the aristocracy.

paul
From: Don Geddis
Subject: Very long run economics [Was: Where to find good lisp critiques?]
Date: 
Message-ID: <873cbstr09.fsf_-_@sidious.geddis.org>
OK, this thread has less and less to do with Lisp all the time.  But I can't
help myself...  :-)

Paul Wallich <··@panix.com> writes:
> As long as prices are nonzero, even if very low, having ways to earn money
> is going to be important to people.

Granted, but it's not a big issue.  If you can work for an hour, and earn
enough to buy food for the rest of your life, it's just not a huge concern for
you.

So the only question is whether there is _anything_ you can productively do.
And, as I suggested in my previous message, there will always be human
interaction that you can be paid for: waiter, masseuse, butler, etc.
Even if that isn't your dream job, just do it for a day and your material
needs for the rest of your life will be taken care of.

> (And of course as prices of goods decline, so will most wages, so there's
> no guarantee of a decline in real prices for most people)

That's not really true.  The supply of worldwide labor hours is much more
static than the cost of material goods.  You'll never see anything like Moore's
law for computer hardware in human labor, with exponential savings over many
decades.

Computers that can do all our jobs could lower the cost of material goods to
(near) zero, but that wouldn't force the cost of human labor also to zero.

> That sounds like a pretty horrible world to me, rather like regency england,
> with the few remaining people who somehow had access to serious stores of
> money (and you still haven't explained who they are) playing the part of the
> aristocracy.

Why do you think money would still be important?  If every unemployed beggar
can have a 10,000 sq ft home filled with plasma TVs and prime rib every night,
how is this anything like a feudal society.  Why can't the beggar just enjoy
his fabulous life, and not care that some other person he doesn't even know
happens to control some scarce resources that he doesn't care about?

I really have a hard time seeing this possible future as a horrible world.

        -- Don
_______________________________________________________________________________
Don Geddis                  http://don.geddis.org/               ···@geddis.org
In a literature class, the students were given an assignment to write a short
story involving all the important ingredients - Nobility, Emotion, Sex,
Religion and Mystery.  One student allegedly handed in the following story:
"My god!" cried the duchess.  "I'm pregnant.  Who did it?"
From: Nicolas Neuss
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <8765grtxzq.fsf@ortler.iwr.uni-heidelberg.de>
Don Geddis <···@geddis.org> writes:

> You describe a dystopia, but (for example) the "Star Trek" TV shows (and
> much other science fiction) suggest a utopia outcome to computers being
> able to do all current human jobs.
> 
> The theory goes roughly that all prices, in essense, drop to zero for all
> goods.  The source of scarcity eventually can get tracked down to hours
> of human labor required, and if goods can be produced with zero human
> labor, then they wind up over time with zero cost.  The basic resources
> like energy and raw materials can come from space (solar or nuclear;
> asteroids) ... which themselves can be acquired at zero cost.
> 
> The final state is that, yes, you no longer have a job and have zero
> income.  But all your material needs have zero cost, so you want for
> nothing.  The question then becomes, how do you want to spend the limited
> hours of your life?  You basically become an artist of some kind,
> exploring human experience for its own sake.

Sounds nice:-) But I remember a novel by Stanislaw Lem[1] where the
machines producing all these goods were owned by people demanding money.
The outcome was that the unemployed and useless masses (which was everyone
in the final state) had to be eliminated (using another machine, of
course).

Nicolas.

[1] I think in the Star Diaries, does someone know the precise reference?
From: Don Geddis
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <87y8tnxjnr.fsf@sidious.geddis.org>
Nicolas Neuss <·······@iwr.uni-heidelberg.de> writes:
> Sounds nice:-) But I remember a novel by Stanislaw Lem[1] where the
> machines producing all these goods were owned by people demanding money.
> The outcome was that the unemployed and useless masses (which was everyone
> in the final state) had to be eliminated (using another machine, of
> course).

Doesn't seem likely, though.  How would the elites keep the machine technology
as a secret monopoly?  All it takes is one benevolent elite who cares a little
for the masses.  Once he releases the machine technology to some of the masses,
those machines could build more of themselves, and all of the masses join the
elites as well.

I don't see how you make most goods over-abundant at zero cost, but yet have
extreme scarcity for the goods-making machines themselves.

        -- Don
_______________________________________________________________________________
Don Geddis                  http://don.geddis.org/               ···@geddis.org
If you're in a boxing match, try not to let the other guy's glove touch your
lips, because you don't know where that glove has been.
	-- Deep Thoughts, by Jack Handey
From: Pascal Bourguignon
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <87llpn4hts.fsf@thalassa.informatimago.com>
Nicolas Neuss <·······@iwr.uni-heidelberg.de> writes:
> Sounds nice:-) But I remember a novel by Stanislaw Lem[1] where the
> machines producing all these goods were owned by people demanding money.
> The outcome was that the unemployed and useless masses (which was everyone
> in the final state) had to be eliminated (using another machine, of
> course).

If  there's no  state to  distort  things, the  capitalists will  soon
realize that to sell anything they need people with _money_.

I can  ask $1e9/m� for air,  and be able  to provide it, I  still wont
find any customer at this price, even on ISS, much less on Earth.


-- 
__Pascal_Bourguignon__                              .  *   * . * .* .
http://www.informatimago.com/                        .   *   .   .*
                                                    * .  . /\  ()  . *
Living free in Alaska or in Siberia, a               . .  / .\   . * .
grizzli's life expectancy is 35 years,              .*.  / *  \  . .
but no more than 8 years in captivity.                . /*   o \     .
http://www.theadvocates.org/                        *   '''||'''   .
SCO Spam-magnet: ··········@sco.com                 ******************
From: radek
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <4e4c4a85.0312120140.1d1bd76e@posting.google.com>
Nicolas Neuss <·······@iwr.uni-heidelberg.de> wrote in message news:<··············@ortler.iwr.uni-heidelberg.de>...
> Don Geddis <···@geddis.org> writes:
> 
> > You describe a dystopia, but (for example) the "Star Trek" TV shows (and
> > much other science fiction) suggest a utopia outcome to computers being
> > able to do all current human jobs.
> > 
> > The theory goes roughly that all prices, in essense, drop to zero for all
> > goods.  The source of scarcity eventually can get tracked down to hours
> > of human labor required, and if goods can be produced with zero human
> > labor, then they wind up over time with zero cost.  The basic resources
> > like energy and raw materials can come from space (solar or nuclear;
> > asteroids) ... which themselves can be acquired at zero cost.
> > 
> > The final state is that, yes, you no longer have a job and have zero
> > income.  But all your material needs have zero cost, so you want for
> > nothing.  The question then becomes, how do you want to spend the limited
> > hours of your life?  You basically become an artist of some kind,
> > exploring human experience for its own sake.
> 
> Sounds nice:-) But I remember a novel by Stanislaw Lem[1] where the
> machines producing all these goods were owned by people demanding money.
> The outcome was that the unemployed and useless masses (which was everyone
> in the final state) had to be eliminated (using another machine, of
> course).
> 
> Nicolas.
> 
> [1] I think in the Star Diaries, does someone know the precise reference?

Title of this novel is "Return from the stars".
Regards
From: Kalle Olavi Niemitalo
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <873cbj8g8t.fsf@Astalo.kon.iki.fi>
Nicolas Neuss <·······@iwr.uni-heidelberg.de> writes:

> [1] I think in the Star Diaries, does someone know the precise reference?

That is correct.  In the 24th journey, a great machine has been
constructed to restore order to the state.  It builds a beautiful
Rainbow Palace and invites everyone in.  The citizens who enter
are converted into shiny disks and arranged in aesthetically
pleasing patterns, so that they may remain perfect forever.
From: vsync
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <87u13dik3y.fsf@piro.quadium.net>
Nicolas Neuss <·······@iwr.uni-heidelberg.de> writes:

> Sounds nice:-) But I remember a novel by Stanislaw Lem[1] where the
> machines producing all these goods were owned by people demanding money.
> The outcome was that the unemployed and useless masses (which was everyone
> in the final state) had to be eliminated (using another machine, of
> course).

You might be interested in "Manna":

  http://marshallbrain.com/manna1.htm

-- 
vsync
http://quadium.net/
Banking on my hopes that whoever grades this will just look at the
pictures, I drew an exponential through my noise. I believe the
apparent legitimacy is enhanced by the fact that I used a complicated
computer program to make the fit.
	-- http://www.cs.wisc.edu/~kovar/hall.html
From: Kent M Pitman
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <sfw1xrfw52h.fsf@shell01.TheWorld.com>
Don Geddis <···@geddis.org> writes:

> It's probably too early to tell whether the world will turn into a
> utopia or dystopia as computers can do more of our jobs, but I at
> least wanted to point out that it's not obvious that it would
> necessarily be a bad thing.

I disagree.  It's only too early for us all to agree in advance of the
effect that we've seen the proof of what's inevitable.  Some of us, even
some of us once starry-eyed, have seen convincing proof that the utopia
part cannot happen.

So I'll bargain down to:  "It's too early to convincingly prove without
appeal to what will seem to be political theory, and what, consequently,
will be necessarily subject to question however artfully presented."

Interesting analysis though. :)
From: Daniel Barlow
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <87k75c35a8.fsf@noetbook.telent.net>
··········@yahoo.com (Tayss) writes:

> Kent M Pitman <······@nhplace.com> wrote in message news:<···············@shell01.TheWorld.com>...
>> Your remark, at least in its syntactic form, suggests that the fact
>> that there are disadvantages to each is reason to diminish the claims
>> that there are disadvantages to the other.  Maybe this isn't your intent,
>> but since I can't read your intent, I'll respond to the form.
>
> No, my point was that that the disadvantages to free software, as
> there are to offshoring, will make it difficult for them to completely
> satisfy the market in a sustainable way.  Just because spray cheese is

Attaching this remark here because it seems vaguely appropriate to the
whole thread: it's not a response to this point specifically.

This is something I've been musing about for a while but haven't
really come to any conclusions yet: we'd all like (well, anyway, I'd
like, and IIRC Kent has said in the past that he'd like) to be paid
for _programming_, not for support-and-handholding-services, which is
the usual suggestion for making money out of free software.

How would we feel if the chargeable element in a software transaction
was actually the "I warrant this works in some reasonable way" aspect?
Practitioners would most probably want to operate with some insurance
covering warranty claims against them: underwriters would charge lower
premiums for programmers following sensible practices and
methodologies, and for contracts which were more clearly stated in the
first place (therefore also giving the customer an interest in
defining the problem properly)

There'd still be the possibility for someone to bodge together a
solution from freely available software where they might otherwise
have had to buy something, but it'd be clearly obvious (to their
managers, or board, or shareholders, or customers) that nobody had
actually taken responsibility for it.  And people can do this anyway
with "effectively free" software that they've already got: VBA, or
Excel macros, or an Access database.


-dan

-- 

 http://web.metacircles.com/ - Open Source software development and support
From: Tayss
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <5627c6fa.0312021605.713d0c78@posting.google.com>
Kent M Pitman <······@nhplace.com> wrote in message news:<···············@shell01.TheWorld.com>...
> And programmers from the possibility of making meaningful salary.
> 
> Don't get me started on free software.  It's late and I need to sleep.
> (You can google me and free software on this newsgroup if you're wondering.
> I'm sure I've written on this once or twice before. ;)
> Nite nite.

Actually, why don't I just take back my post of free software, it's
not an important war to start.  My closest friend is employed through
free software, I've met people unemployed because of it.  Some are
helped by offshoring, others are hurt.
From: Paolo Amoroso
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <877k1gfdmm.fsf@plato.moon.paoloamoroso.it>
Kent Pitman writes:

> Lisp Machines were NOT overrated.  As time passes, they certainly have
[...]
> office space, etc.)  For references on Lisp Machines, see perhaps
> http://www.wkap.nl/prod/b/0-89838-220-3 if you've not seen that.
> Or better still, get together with someone who HAS a lisp machine.
> (If it's not ordinarily possible, arrange to meet them at a conference?)

The next best thing may be to watch Rainer Joswig's cool LispM videos.

Or maybe play with McCLIM's CLIM listener. As I have already said
somewhere, it makes me feel the LispM between my toes :)


Paolo
-- 
Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film
From: Brian Mastenbrook
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <011220032116061744%NOSPAMbmastenbNOSPAM@cs.indiana.edu>
In article <····························@posting.google.com>, Tayss
<··········@yahoo.com> wrote:

> I'm trawling through old usenet postings about lisp.  Boy, were they a
> flaming bunch.  (Though some of their criticisms today look silly.) 
> Does anyone know of any places I can find good criticisms?  This
> doesn't have to be just about Common Lisp, but systems like Interlisp
> or how overrated Lisp Machines were would be great too.
> 
> Partly I'm motivated by a waning interest in learning more about the
> language (because books only give a very filtered account), and
> because I think people can simply not trust all this wide-eyed
> idealism that comes from evangelists.  If critics were just partly
> right about Common Lisp being a nasty compromise, it would be very
> educational.
> 
> BTW, I'm aware of the enormous noise-to-signal ratios inherent in
> these things... and I'm not motivated by any dislike of lisp,
> especially since I'm still blown away at how I can write Common Lisp
> test harness systems in under 20 lines that are far better than xUnit,
> or a personal Google that keeps track of what I buy in less than 50...
> 
> Any pointers would be very appreciated.

You might find this article interesting:

http://www.dreamsongs.com/WIB.html

As far as CL being a "nasty compromise"... that sounds like a
Scheme-ish position, but Schemers make their own compromises too - just
that theirs tend to fall on the line of deferring to the implementor,
underspecifying, or not specifying at all. So in this sense Schemers
compromise user sensibility to implimentor convenience.

It would be a mistake to attempt to tie CL's current popularity to its
merit as a language or any historical implementations of it. Only in
the past two years have really good free Common Lisp tools become
available - mature SBCL, ASDF and ASDF-INSTALL, CLiki, OpenMCL, et al.
It takes time for a language to build up acceptance, and a focus on
"environmental" aspects of CL as a development tool have only recently
come into focus. We're building better tools now than developers of
other languages have - SLIME is really only matched by Erlang, the ease
of development on a CL web server like Araneida or AllegroServe is
totally unmatched, and the performance of our native compilers blows
away Python, PHP or Perl. But it's taken time to get here, and it will
be a little while yet before CL sees wide adoption like these languages
do.

This doesn't mean that Lisp Machines were overrated - just that the
companies made some bad decisions, failed to react to the marketplace,
and that the other lisp vendors have consistently priced themselves out
of the general tool market. (LispWorks doesn't include an HTTP server,
though you can use CL-HTTP with it. Franz - well, if you have to ask,
you can't afford it.)

-- 
Brian Mastenbrook
http://www.cs.indiana.edu/~bmastenb/
From: Rand Sobriquet
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <1e249696.0312020912.7bfc7da2@posting.google.com>
Brian Mastenbrook <····················@cs.indiana.edu> wrote in message>
 
> This doesn't mean that Lisp Machines were overrated - just that the
> companies made some bad decisions, failed to react to the marketplace,
> and that the other lisp vendors have consistently priced themselves out
> of the general tool market. (LispWorks doesn't include an HTTP server,
> though you can use CL-HTTP with it. Franz - well, if you have to ask,
> you can't afford it.)

Just a comment in passing: Allegro Common Lisp is not as expensive as
you imagine.  Most serious customers just haggle for a bit.  It's not
a big deal to negotiate with salesman.  There are all kinds of pricing
plans available.  You can, as an example, pay extra to avoid
licensing, etc...

 And Corman Lisp still costs 200ish.
From: Joe Marshall
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <vfozjej0.fsf@ccs.neu.edu>
··········@eudoramail.com (Rand Sobriquet) writes:

> Brian Mastenbrook <····················@cs.indiana.edu> wrote in message>
>  
>> This doesn't mean that Lisp Machines were overrated - just that the
>> companies made some bad decisions, failed to react to the marketplace,
>> and that the other lisp vendors have consistently priced themselves out
>> of the general tool market. (LispWorks doesn't include an HTTP server,
>> though you can use CL-HTTP with it. Franz - well, if you have to ask,
>> you can't afford it.)
>
> Just a comment in passing:  Allegro Common Lisp is not as expensive as
> you imagine.  

I imagine that Allegro Common Lisp costs upwards of $1000.  (assuming
a single commercial license)

Xanalys Lispworks lists at $900 for Linux and Windows.

>  And Corman Lisp still costs 200ish.
From: Brian Mastenbrook
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <021220032244400386%NOSPAMbmastenbNOSPAM@cs.indiana.edu>
In article <············@ccs.neu.edu>, Joe Marshall <···@ccs.neu.edu>
wrote:

> I imagine that Allegro Common Lisp costs upwards of $1000.  (assuming
> a single commercial license)
> 
> Xanalys Lispworks lists at $900 for Linux and Windows.
> 
> >  And Corman Lisp still costs 200ish.
> 
> 

I think LispWorks is reasonably priced, though they need a student
price badly, and Corman is very reasonably priced. Allegro, as far as
I'm aware, costs about $1k for a single academic license, not including
CLIM. Either they give bad academic deals or it's quite a bit more
expensive for non-academic organizations. (As I've heard from more than
one ACL user, Franz doesn't want to be your vendor - they want to be
your partner.) LW Professional is $600 for a single academic license,
including CLIM and free runtimes - a more reasonable deal.

(Disclaimer: this is second-hand from a professor who did buy Allegro
for his school.)

Now, if I could take a moment to rant: students need CL too, and we're
quite a bit poorer than even academic departments. Corman has a good
student price, considering the already reasonable cost, but the other
vendors are just nuts, IMHO. Digitool wants $450 for student MCL 5.0,
and I don't know too many students (myself included) who have that much
money to spend on a single program when one can make do with the free
alternatives (though 4.3.5 is a very attractive $66). Xanalys would do
well to offer a student version. Either of these vendors would have my
money if they offered a sub-$200 student edition. I don't care about
application generation - it could be disabled in the student version
for all I care, and Mathematica-style banners appear on all document
windows. It would be good for the vendors too - get 'em hooked while
they're young, I say.

Well, I guess they have my email address if they decide they want my
money.

-- 
Brian Mastenbrook
http://www.cs.indiana.edu/~bmastenb/
From: Rahul Jain
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <878yluh6ma.fsf@rice.edu>
Brian Mastenbrook <····················@cs.indiana.edu> writes:

> Now, if I could take a moment to rant: students need CL too, and we're
> quite a bit poorer than even academic departments. [...] Either of
> these vendors would have my money if they offered a sub-$200 student
> edition. I don't care about application generation - it could be
> disabled in the student version for all I care, and Mathematica-style
> banners appear on all document windows. It would be good for the
> vendors too - get 'em hooked while they're young, I say.

You're in luck. Both Franz and Xanalys offer a student edition for
free. They call it the "trial" edition, since you're trying out the
product and the language as part of your education. Neither has
application generation capabilities and neither have banners on their
windows. They do have some heap size and continuous running time
limitations, but if you're just learning the language, it's not like you
need to use huge data sets or run 24/7 daemons.

-- 
Rahul Jain
From: Brian Mastenbrook
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <031220030739174985%NOSPAMbmastenbNOSPAM@cs.indiana.edu>
In article <··············@rice.edu>, Rahul Jain <·····@rice.edu> wrote:

> You're in luck. Both Franz and Xanalys offer a student edition for
> free. They call it the "trial" edition, since you're trying out the
> product and the language as part of your education. Neither has
> application generation capabilities and neither have banners on their
> windows. They do have some heap size and continuous running time
> limitations, but if you're just learning the language, it's not like you
> need to use huge data sets or run 24/7 daemons.

I am using huge data sets. Are students now expected to not do
interesting things? I'm surely not "learning the language". I'm also
familiar enough with the limitations of the demo versions - Franz
doesn't meet my needs at all (I'm looking for a better development
environment), and Xanalys is close to perfect, as I discovered during
the 4.3/Mac beta period, but I can hit the personal edition heap limit
very very quickly on a 2GHz G5 :-)

(I'm running 24/7 daemons with SBCL, but I'm not looking for a
replacement for that - I'm looking for a better development
environment, and as nice as SLIME is, I never quite feel comfortable in
emacs...)

-- 
Brian Mastenbrook
http://www.cs.indiana.edu/~bmastenb/
From: Christopher C. Stacy
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <u65gxnpc6.fsf@dtpq.com>
>>>>> On Wed, 03 Dec 2003 07:39:17 -0500, Brian Mastenbrook ("Brian") writes:

 Brian> In article <··············@rice.edu>, Rahul Jain <·····@rice.edu> wrote:
 >> You're in luck. Both Franz and Xanalys offer a student edition for
 >> free. They call it the "trial" edition, since you're trying out the
 >> product and the language as part of your education. Neither has
 >> application generation capabilities and neither have banners on their
 >> windows. They do have some heap size and continuous running time
 >> limitations, but if you're just learning the language, it's not like you
 >> need to use huge data sets or run 24/7 daemons.

 Brian> I am using huge data sets. Are students now expected to not do
 Brian> interesting things? I'm surely not "learning the language".

It seems to me that two different kinds of users are being lumped
together in these discussions.  I have always thought that the
"student editions" (the free trial/personal versions) of these tools
are intended for computer programming students who are indeed "learning
the language".  The purpose is to allow them to just do their homework
exercises in learning to program, and perhaps some related experimentation.
Some confusion is probably owed to the fact that these student editions
are not particularly crippled and are so nearly fully functional that
they could be mistaken for "student DISCOUNTED versions" of the product,
as opposed to "student LEARNING PURPOSES versions" of the product.

It sounds like you are not just learning to program, but are trying to
do "interesting things" that involve "huge data sets".  And you seem
to realize that it doesn't make sense to use a crippled "student version".  
What you need is obviously the full-blown version for your serious research:
an expensive tool for your work that you are wondering how you can afford.

I would suggest that the school that is sponsoring your work should
at least help pay for it. They didn't make pay for your laboratory 
equipment that generates the huge data sets, or the electricity that
runs the office where you sit, right?  There's nothing that distinguishes
this software that you need from an SEM, DNA sequencer, milling machine, 
PLC robot, or electronics parts for something you might be assembling.
Aren't the providing computer networking and even some computer
hardware for you to use on your huge data sets?  
Why wouldn't they purchase your copy for use in the lab?

(And if they're going to be buying more than one copy, 
I bet they can negotiate some sort of discount.)
From: Brian Mastenbrook
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <041220030057556470%NOSPAMbmastenbNOSPAM@cs.indiana.edu>
In article <·············@dtpq.com>, Christopher C. Stacy
<······@dtpq.com> wrote:


> I would suggest that the school that is sponsoring your work should
> at least help pay for it.

The school isn't sponsoring my work at all currently. Are students no
longer expected to be doing interesting things on their own?

> They didn't make pay for your laboratory 
> equipment that generates the huge data sets, or the electricity that
> runs the office where you sit, right?

My "lab equipment" is my PC. I'm an AI person.

> There's nothing that distinguishes
> this software that you need from an SEM, DNA sequencer, milling machine, 
> PLC robot, or electronics parts for something you might be assembling.
> Aren't the providing computer networking and even some computer
> hardware for you to use on your huge data sets?  

They're providing an Ultra, yes. That Ultra came before me too and
might even outlast me.

> Why wouldn't they purchase your copy for use in the lab?

I bet the Indiana University CS department considers our license to
Chez Scheme adequate. Who needs that CL stuff?

> (And if they're going to be buying more than one copy, 
> I bet they can negotiate some sort of discount.)

The rest of the AI people are using Java these days :-(

-- 
Brian Mastenbrook
http://www.cs.indiana.edu/~bmastenb/
From: Alan Shutko
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <878ylsjyw6.fsf@wesley.springies.com>
Brian Mastenbrook <····················@cs.indiana.edu> writes:

> The school isn't sponsoring my work at all currently. Are students no
> longer expected to be doing interesting things on their own?

Time to write a grant.  Fortunately, it can be a pretty small one, and
will help you get your feet wet in the _real_ business of academia.

Welcome to the world of research.  You've just learned your first
lesson....

-- 
Alan Shutko <···@acm.org> - I am the rocks.
Before you find your handsome prince, you've got to kiss a lot of frogs.
From: Peter Herth
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <m3brqoe4jo.fsf@uranus.local>
······@dtpq.com (Christopher C. Stacy) writes:


If you just want to take some first steps in a language, the personal 
edition is quite  fine, though clisp might do as well for that purpose. 
A *students-edition* of a software is in my eyes a discounted full version 
of a software (or at least a version with very few features disabled) so 
that the student can *use* it to do some of his *work* (read work, not 
homework, not all students do programming  assignments as homework :) ). 
As for Universities paying for their student's  software... there is 
GCC, a free C compiler... 

Peter


-- 
Peter Herth
Dawn of the Ages
http://dawn.netcologne.de
From: Kent M Pitman
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <sfwd6b6il1o.fsf@shell01.TheWorld.com>
Brian Mastenbrook <····················@cs.indiana.edu> writes:

> Xanalys would do well to offer a student version.

It does.  The personal edition.  It's free.
From: Thomas F. Burdick
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <xcvznea5smp.fsf@famine.OCF.Berkeley.EDU>
Kent M Pitman <······@nhplace.com> writes:

> Brian Mastenbrook <····················@cs.indiana.edu> writes:
> 
> > Xanalys would do well to offer a student version.
> 
> It does.  The personal edition.  It's free.

Wow, two in a row.  Heap limits and time limits are bad for students.
to try something out as a professional looking to buy, you really need
to try the real product (kudos to Xanalys for the LW evaluation at
ILC, that's exactly the kind of trial I needed as a professional --
not that I need their product at the moment, but if the need comes up,
well, I know what I can get).  Students don't need a lot of the fancy
things that production engineers do -- but heap limits and time
limits, well, who would you expect to unreasonably use too much space
and time?  A student.  Some of the time, they're still learning what
they're doing, and some of the time they have unreasonable
requirements.  The reasoning begind student prices is to get people
hooked while they're in college, so they'll want to take it with them
later.  To do that, you can't have weird limits.  The personal edition
might do a little part of that job, but it's not the same thing.

-- 
           /|_     .-----------------------.                        
         ,'  .\  / | No to Imperialist war |                        
     ,--'    _,'   | Wage class war!       |                        
    /       /      `-----------------------'                        
   (   -.  |                               
   |     ) |                               
  (`-.  '--.)                              
   `. )----'                               
From: Kent M Pitman
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <sfwvfoye6sr.fsf@shell01.TheWorld.com>
···@famine.OCF.Berkeley.EDU (Thomas F. Burdick) writes:

> Wow, two in a row.  Heap limits and time limits are bad for students.
> to try something out as a professional looking to buy, you really need
> to try the real product (kudos to Xanalys for the LW evaluation at
> ILC, that's exactly the kind of trial I needed as a professional --
> not that I need their product at the moment, but if the need comes up,
> well, I know what I can get).  Students don't need a lot of the fancy
> things that production engineers do -- but heap limits and time
> limits, well, who would you expect to unreasonably use too much space
> and time?  A student. 

I disagree with this.  It's _surely_ possible for a student to do this,
but students are used to enduring pain in exchange for free things.

(If they don't like it, let them get cormon or a gnu-free version...)

It is simply not necessary for every implementation to cater to every
kind of user.  It's VERY nice of the two big commercial vendors to
provide anything at all, and it's ridiculous to nitpick the way in which
they do it.

CL has a hugely rich set of options for students.  Probably more than
most languages.

Whether each vendor has a rich set of options for students is a
marketing choice for that particular vendor, and IMO it's quite wrong
to misconstrue their decision to not do everything you wish as
anything negative.  You can wish they would do otherwise, but wishing is
cheap and, in this case, I think not constructive.

I'm sure if they could, they would.  If they haven't, they're not
going to read your message and say "oh my goodness, we had no idea
that students were short of money" nor "oh my goodness, we had no idea
that students are prone to pound on things heavily".  The phrasing of
your message makes it appear to "offer information" and yet you surely
must know that the vendors already know the things you say.

These seem to me to be the real issues:

(1) It's very easy for student versions to "accidentally" get exported to
non-student machines and used for real work, resulting in non-payment to
vendors who need payment to survive.  While we're on the subject of things
students are prone to do, playing fast and loose with copyright and other
ethics is true of enough of them that it's reasonable for a vendor to take
this into account.  Every time a vendor offers a free or reduced price 
version that is uncrippled, that vendor is risking loss of a sale.  That's
a serious matter that vendors must evaluate on their own terms and that 
I think we are not competent to second guess.

(2) The LW Personal Edition is sufficiently powerful that I've often used
it either accidentally or intentionally for "real work". e.g., if I find 
myself on a strange machine away from my normal one, I may just download a
personal edition from Xanalys (figuring it can't hurt the machine's owner
to find a Lisp laying around and perhaps play with it :) and then use it
as a stopgap.  And, frankly, it lets me do enough that I often don't find
it much different than the real one.  Sure, there are situations where it
isn't good.  But it's good enough that teaching could be designed around it
and self-taught students can use it just fine.  One reason you cripple a
version is to give incentive to upgrade when the need is stronger; if you
uncripple it totally, you lose the incentive and, again, money.  Only vendors
can know what their own monetary pain thresholds are, IMO.

(3) If I recall, the Personal Edition was developed and debugged as
part of a Lisp teaching program with the Open University in England,
and as far as I know it worked for them.  So even just the isolated 
claim that students can't make do is suspect.
From: Thomas F. Burdick
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <xcvwu9e5oaz.fsf@famine.OCF.Berkeley.EDU>
Kent M Pitman <······@nhplace.com> writes:

> ···@famine.OCF.Berkeley.EDU (Thomas F. Burdick) writes:
> 
> > Wow, two in a row.  Heap limits and time limits are bad for students.

(This sounded more argumentative that I meant to)

> > to try something out as a professional looking to buy, you really need
> > to try the real product (kudos to Xanalys for the LW evaluation at
> > ILC, that's exactly the kind of trial I needed as a professional --
> > not that I need their product at the moment, but if the need comes up,
> > well, I know what I can get).  Students don't need a lot of the fancy
> > things that production engineers do -- but heap limits and time
> > limits, well, who would you expect to unreasonably use too much space
> > and time?  A student. 
> 
> I disagree with this.  It's _surely_ possible for a student to do this,
> but students are used to enduring pain in exchange for free things.

Certainly.  I wasn't arguing that students *couldn't* use the personal
edition, I was pointing out that it's not the same as a student
edition.  If Xanalys doesn't want to offer a student edition (and
apparently they don't), that's fine, that's a marketing decision.  I
was responding to two posts in a row implying that the personal
edition was the same thing; it's not.

> (If they don't like it, let them get cormon or a gnu-free version...)
> 
> It is simply not necessary for every implementation to cater to every
> kind of user.  It's VERY nice of the two big commercial vendors to
> provide anything at all, and it's ridiculous to nitpick the way in which
> they do it.
> 
> CL has a hugely rich set of options for students.  Probably more than
> most languages.

Definately.  I think we might even beat C++ in that category.

> Whether each vendor has a rich set of options for students is a
> marketing choice for that particular vendor, and IMO it's quite wrong
> to misconstrue their decision to not do everything you wish as
> anything negative.  You can wish they would do otherwise, but wishing is
> cheap and, in this case, I think not constructive.
>
> I'm sure if they could, they would.  If they haven't, they're not
> going to read your message and say "oh my goodness, we had no idea
> that students were short of money" nor "oh my goodness, we had no idea
> that students are prone to pound on things heavily".  The phrasing of
> your message makes it appear to "offer information" and yet you surely
> must know that the vendors already know the things you say.

That's not what I was saying at all.  I wasn't trying to "offer
information" to the vendors -- I know they were informed when making
their choices -- I was trying to justify my assertion that a
"personal" version for light hobbiests isn't the same thing as a
student version.

> These seem to me to be the real issues:
> 
> (1) It's very easy for student versions to "accidentally"
 [ snip ]

No argument here.  That's an argument about "should", not "does".

> (2) The LW Personal Edition is sufficiently powerful that I've often used
> it either accidentally or intentionally for "real work".

Yeah, I could see that, too.  There are lots of lightwieght things I
do in my day-to-day work.  Again, that's an argument about
should/shoudn't, not whether they offer a student edition.

> (3) If I recall, the Personal Edition was developed and debugged as
> part of a Lisp teaching program with the Open University in England,
> and as far as I know it worked for them.  So even just the isolated 
> claim that students can't make do is suspect.

Of course they *can* make do, sometimes.  Especially if their
assignments avoid gratuitously weird requirements that would make
using Lisp impossible.  That's not what I was arguing, though.

-- 
           /|_     .-----------------------.                        
         ,'  .\  / | No to Imperialist war |                        
     ,--'    _,'   | Wage class war!       |                        
    /       /      `-----------------------'                        
   (   -.  |                               
   |     ) |                               
  (`-.  '--.)                              
   `. )----'                               
From: Kent M Pitman
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <sfwu14iuiu9.fsf@shell01.TheWorld.com>
···@famine.OCF.Berkeley.EDU (Thomas F. Burdick) writes:

> I was pointing out that it's not the same as a student edition.

Well, what I was pointing out was that there is no independently
established definition of what a student edition is.  I'm not even
sure it's appropriate for there to be any single definition of what
this is.  In a sense, there's a marketplace even among freeware,
and people take their lumps for not getting used... then again, if
the cost of producing something that will get used is high enough,
they take their lumps for getting used, too. 

And something I forgot to say in the last post that's relevant here is
that I believe it is possible scenario for a given company for it to
be impossible to provide what you're asking for (or perhaps even any
product) at all, due to cash flow reasons, due to manpower reasons, or
due to prior commitment issues (not all of which are independent
variables).  Your message further seems to suggest that there is a
possible and correct outcome, yet I regard it more like solitaire
where the "best outcome" may not always look like a win... people
become frustrated by what a careful analysis may reveal is an optimal
score.

I don't mean to beat you up personally on this, Thomas.  It's just
that I don't want to let stand on the newsgroup unchallenged the claim
that Xanalys did it wrong...  A correct analysis of the situation has
to include their point of view AND the fact that even from a user
perspective, what's right or wrong for one person isn't right or wrong
from another.  (This, incidentally, is why CL has no teaching subset.
We talked about it in X3J13 and eventually realized that depending on
what you were teaching, you might subset it differently or not at all,
and that this was best left to individual instructors and implementors.)

To my knowledge, Xanalys created the personal edition specifically for
the use of students and is happy to see it used by students.  That
there are students with different needs doesn't surprise me--students
will use anything and everything they can get their hands on.
So it goes.

> If Xanalys doesn't want to offer a student edition
> (and apparently they don't), that's fine, that's a marketing decision.

So is saying that the personal edition is what they intend for student use.

> I was responding to two posts in a row implying that the personal
> edition was the same thing; it's not.

And that's why I'm re-replying.  Because I think you're wrong on this.

> > Whether each vendor has a rich set of options for students is a
> > marketing choice for that particular vendor, and IMO it's quite wrong
> > to misconstrue their decision to not do everything you wish as
> > anything negative.  You can wish they would do otherwise, but wishing is
> > cheap and, in this case, I think not constructive.
> >
> > I'm sure if they could, they would.  If they haven't, they're not
> > going to read your message and say "oh my goodness, we had no idea
> > that students were short of money" nor "oh my goodness, we had no idea
> > that students are prone to pound on things heavily".  The phrasing of
> > your message makes it appear to "offer information" and yet you surely
> > must know that the vendors already know the things you say.
> 
> That's not what I was saying at all.  I wasn't trying to "offer
> information" to the vendors -- I know they were informed when making
> their choices -- I was trying to justify my assertion that a
> "personal" version for light hobbiests isn't the same thing as a
> student version.

You're just faked out by the name.  I was at old-Harlequin at the time
it came out, though my memory is fuzzy on this and I don't speak for
Xanalys officially on this in any case.  I'm pretty sure the Personal
Edition was developed for student use.  Its use has expanded in the
other direction of trial editions, not vice versa.

> > (3) If I recall, the Personal Edition was developed and debugged as
> > part of a Lisp teaching program with the Open University in England,
> > and as far as I know it worked for them.  So even just the isolated 
> > claim that students can't make do is suspect.
> 
> Of course they *can* make do, sometimes.  Especially if their
> assignments avoid gratuitously weird requirements that would make
> using Lisp impossible.  That's not what I was arguing, though.

This comes down to the issue of there being no one right answer for
everyone.  That's why we have other vendors and other options.
Competition.  It's good.

It's really fine to highlight other needs, and even to say that you 
personally or people you know have different needs.

It's not really fine to make any claim that this is not a legitimate
student edition unless you can show that it can't be used by students
and that the appellation is effectively fraudulent, which I'm sure 
it's not.  

It's also not really fine when people beat up on a vendor to provide
something free and have the good fortune to have the vendor do so to
tell the vendor that it's not done it right because that's the kind of
thing that is likely to get you nothing the next time around.  You'll
get instead internal meetings where you hear [well, where employees
hear and you do not] "look, we can't afford to do the thing they want
and they're not going to be satisfied no matter what we do, so why
should we bother. we have real work to do for which people will pay
us..."  Do not put vendors in this position.  Please?
From: Thomas F. Burdick
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <xcvu14h67c5.fsf@famine.OCF.Berkeley.EDU>
Kent M Pitman <······@nhplace.com> writes:

> ···@famine.OCF.Berkeley.EDU (Thomas F. Burdick) writes:
> 
> > I was pointing out that it's not the same as a student edition.
> 
> Well, what I was pointing out was that there is no independently
> established definition of what a student edition is.

I was thinking of what the big, dominant language suites mean: what
MS, Borland, etc., offer as student editions.  The point of those
suites is to make them available for students to use for everything,
and get hooked on, regardless of what their instructors prepare for
their use.

> Your message further seems to suggest that there is a possible and
> correct outcome, yet I regard it more like solitaire where the "best
> outcome" may not always look like a win... people become frustrated
> by what a careful analysis may reveal is an optimal score.
> 
> I don't mean to beat you up personally on this, Thomas.  It's just
> that I don't want to let stand on the newsgroup unchallenged the claim
> that Xanalys did it wrong...

You're definately reading a lot of "should"s into what I've written.
I *don't* think they did it wrong, and I don't think that Franz did it
wrong.  CL has a lot of implementations, and between Corman, MCL, and
CMUCL, there are tons of low- and no-cost options for students to have
access to production CL systems.  The fact that Xanalys and Franz
don't offer an equivalent of MS's or Borland's student editions isn't
a problem for Lisp users.  But if you tell a university student that
they can get a student edition of LispWorks, s/he will most likely be
quite disappointed in the personal edition, because its limitations
are quite different from the shiny boxes you can buy cheaply in
student bookstores.  A better answer would be, "Common Lisp has
several high-quality low- and no-cost implementations, plus the
LispWorks personal edition, so the niche that's normally filled by a
more traditional student edition, is already filled."

> To my knowledge, Xanalys created the personal edition specifically for
> the use of students and is happy to see it used by students.  That
> there are students with different needs doesn't surprise me--students
> will use anything and everything they can get their hands on.
> So it goes.
> 
> > If Xanalys doesn't want to offer a student edition
> > (and apparently they don't), that's fine, that's a marketing decision.
> 
> So is saying that the personal edition is what they intend for student use.

Point taken.

> > I was responding to two posts in a row implying that the personal
> > edition was the same thing; it's not.
> 
> And that's why I'm re-replying.  Because I think you're wrong on this.

I agree with most of what you've said here, but one should be careful
with saying "student edition" around students, because it does have a
fairly specific meaning among university students.  "The personal
edition is intended for student use" is fine, IMO.

> It's also not really fine when people beat up on a vendor to provide
> something free and have the good fortune to have the vendor do so to
> tell the vendor that it's not done it right because that's the kind of
> thing that is likely to get you nothing the next time around.  You'll
> get instead internal meetings where you hear [well, where employees
> hear and you do not] "look, we can't afford to do the thing they want
> and they're not going to be satisfied no matter what we do, so why
> should we bother. we have real work to do for which people will pay
> us..."  Do not put vendors in this position.  Please?

I'm not asking the vendors who haven't to release cheap edititions of
their full product for students.  I think that's entirely unnecessary,
since that niche is already filled.

-- 
           /|_     .-----------------------.                        
         ,'  .\  / | No to Imperialist war |                        
     ,--'    _,'   | Wage class war!       |                        
    /       /      `-----------------------'                        
   (   -.  |                               
   |     ) |                               
  (`-.  '--.)                              
   `. )----'                               
From: Kent M Pitman
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <sfwptf5hdo1.fsf@shell01.TheWorld.com>
···@famine.OCF.Berkeley.EDU (Thomas F. Burdick) writes:

> I agree with most of what you've said here, but one should be careful
> with saying "student edition" around students, because it does have a
> fairly specific meaning among university students.  "The personal
> edition is intended for student use" is fine, IMO.

Programming language has a specific meaning, too.  It means something with
mostly C++/Java syntax.  But I wouldn't tell the makers of PostScript or
that they must use the term carefully becuase they don't have what people
will recognize as a programming language.  I say "good for them" if they
stretch someone's imagination, and too bad for anyone who assumed a 
programming language had to be a certain way.

Further, I guess the thing that really miffs me about this whole
discussion is that people tout the wonders of free software and how
wonderful it is, but as I've said over and over until I feel like a
broken record: it drives down the cost one can charge.  What's the net
effect?  That people are more fussy and less willing to pay.  And NOT
just for student editions.  So it's hard for the commercial vendors to
do what you're asking as a more or less.  But worse, only the
commercial editions seem to have the cool things that you're
recognizing as the whizzy thing that students want.  So free software
is not an engine that has cranked out what students need, and it has
undercut the ability of vendors to cater to the needs of students.
The reason that the more popular languages can do what they do is that
they have a larger installed base and can afford these margins.
It irks me the kind of society we've seemingly voluntarily built
for ourselves.  If free software is so cool, let it crank out cool free 
interfaces.  If it's not, tell it to stop making it economically impossible
for those who would crank out such a thing to charge money.  We should be
willing to pay for the things we get, and when we are  unable, we should
be thankful, not critical, of what we get.  Grrr.  Fume, fume...

> > It's also not really fine when people beat up on a vendor to provide
> > something free and have the good fortune to have the vendor do so to
> > tell the vendor that it's not done it right because that's the kind of
> > thing that is likely to get you nothing the next time around.  You'll
> > get instead internal meetings where you hear [well, where employees
> > hear and you do not] "look, we can't afford to do the thing they want
> > and they're not going to be satisfied no matter what we do, so why
> > should we bother. we have real work to do for which people will pay
> > us..."  Do not put vendors in this position.  Please?
> 
> I'm not asking the vendors who haven't to release cheap edititions of
> their full product for students.  I think that's entirely unnecessary,
> since that niche is already filled.

You're saying that the vendors who have heard the needs of students and
answered it in the way they decided have to use terminology in a way that
suits you rather than a way that suits them.  That is not proper.  
Especially when a general purpose meaning is being supplanted by a special
purpose meaning, we should band together to resist the change.  
Object-oriented does not mean "encapsulation", that's a latter day 
re-assignment of meaning.  Personal Computer does not mean "machine made
by intel running a microsoft OS".  "Modern programming language" does not
mean C++ or Java or something else with more or less the same syntax.
And "student edition" does not mean "clone of what you get with Java's
student edition".  It may indeed be useful, sometimes, as a tactical matter,
to make our products look like theirs.  But that's a personal choice of
each vendor, and when they deviate for legitimate reasons, we should support
the idea of choice (which there is all too little left of in computer
science), not beat the last little bit of diversity out of the world.
I don't think you mean to do this.  But I do think you are contributing
to that effect.
From: Thomas F. Burdick
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <xcvhe0h5yi8.fsf@famine.OCF.Berkeley.EDU>
Kent M Pitman <······@nhplace.com> writes:

> ···@famine.OCF.Berkeley.EDU (Thomas F. Burdick) writes:
> 
> > I agree with most of what you've said here, but one should be careful
> > with saying "student edition" around students, because it does have a
> > fairly specific meaning among university students.  "The personal
> > edition is intended for student use" is fine, IMO.
> 
> Programming language has a specific meaning, too.  It means something with
> mostly C++/Java syntax.  But I wouldn't tell the makers of PostScript or
> that they must use the term carefully becuase they don't have what people
> will recognize as a programming language.  I say "good for them" if they
> stretch someone's imagination, and too bad for anyone who assumed a 
> programming language had to be a certain way.
> 
> Further, I guess the thing that really miffs me about this whole
> discussion

I don't think we're having the same discussion at all.  You've done
nothing but misattribute intentions to what I've said.

-- 
           /|_     .-----------------------.                        
         ,'  .\  / | No to Imperialist war |                        
     ,--'    _,'   | Wage class war!       |                        
    /       /      `-----------------------'                        
   (   -.  |                               
   |     ) |                               
  (`-.  '--.)                              
   `. )----'                               
From: Kent M Pitman
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <sfwvfox4h4b.fsf@shell01.TheWorld.com>
···@famine.OCF.Berkeley.EDU (Thomas F. Burdick) writes:

> I don't think we're having the same discussion at all.  You've done
> nothing but misattribute intentions to what I've said.

FWIW, that was not my intent.  I hadn't meant to speak about your
intentions at all, much less mischaracterize them.  I have never
observed you to have evil intentions of any sort (nor do I tend to
assume that most people do).  I characterize things people say in 
order to make a point or to highlight an issue, but not to make 
them look bad nor to win a debate on a cheap shot.  Anyway, I'm sorry
if you felt wronged by what I said.  We'll try again on another day.
I agree we probably were talking past each other, but I think we each
made our respective points in spite of it.

Btw, when I said I was miffed it wasn't really about you personally.
It was with a general attitude that I perceive in some number of people.

This happens to me a lot--someone says something interesting that reminds
me I have been meaning to say something to this or that individual or group,
and I end up replying to a message even though I'm really speaking to a more
general audience.  Sometimes I mark it syntactically better than others.
From: Brian Mastenbrook
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <031220031559289511%NOSPAMbmastenbNOSPAM@cs.indiana.edu>
In article <···············@shell01.TheWorld.com>, Kent M Pitman
<······@nhplace.com> wrote:

> So it's hard for the commercial vendors to
> do what you're asking as a more or less.  But worse, only the
> commercial editions seem to have the cool things that you're
> recognizing as the whizzy thing that students want.  So free software
> is not an engine that has cranked out what students need, and it has
> undercut the ability of vendors to cater to the needs of students.

Free software isn't an engine at all. It's a concept. It doesn't crank
out software. People do. Corporations do too. IBM isn't shedding any
tears that people are using Eclipse instead of JBuilder. And who's
holding the vendors back from developing a student edition? Except in
the case of piracy (which is just as bad for free software! nobody
likes people who don't respect licenses), it would likely not reduce
their income from academic and commercial licenses. This means more
money for them, not less. If they're worried about the cost of
supporting the students, then restrict the support available to
students. Xanalys supports the Personal edition when they can, so I
don't think they're worried about those extra costs yet.

> The reason that the more popular languages can do what they do is that
> they have a larger installed base and can afford these margins.

What margins?

> It irks me the kind of society we've seemingly voluntarily built
> for ourselves.  If free software is so cool, let it crank out cool free 
> interfaces. 

What's "it"?

> If it's not, tell it to stop making it economically impossible
> for those who would crank out such a thing to charge money.

What's "it"? If you mean free software authors, would you ask me to
stop doing with my software as I please? I've got every much of a right
to give away what I write as the vendors have to sell what they do.

> We should be
> willing to pay for the things we get, and when we are  unable, we should
> be thankful, not critical, of what we get.  Grrr.  Fume, fume...

Why exactly should I be thankful for not being able to afford
something? I was trying to suggest that it might be in the best
interests of the vendors to consider student licensing, and gave one
example of a student who does stuff with CL and would gladly pay for a
license. I named my price, and it's in line with a lot of other student
software (which suggests a general sweet spot in the market to me). I
even named a few restrictions they could put on the product to make it
fair at that price. Monday-morning quarterbacking is my prerogative,
especially when explaining what a vendor would need to do to get my
business.

> You're saying that the vendors who have heard the needs of students and
> answered it in the way they decided have to use terminology in a way that
> suits you rather than a way that suits them.  That is not proper. 
> Especially when a general purpose meaning is being supplanted by a special
> purpose meaning, we should band together to resist the change.  
> Object-oriented does not mean "encapsulation", that's a latter day 
> re-assignment of meaning.  Personal Computer does not mean "machine made
> by intel running a microsoft OS".  "Modern programming language" does not
> mean C++ or Java or something else with more or less the same syntax.
> And "student edition" does not mean "clone of what you get with Java's
> student edition". 

Java has a student edition?

> It may indeed be useful, sometimes, as a tactical matter,
> to make our products look like theirs.

Nobody said anything about looking like their products. Using the same
general terminology as the rest of the market is not about tactics -
it's about not confusing the marketplace. If Xanalys decided to call
the Personal Edition (which is fairly named) a Student Edition, I would
argue that the name is confusing, as this product does not meet the
needs of students using lisp, just students learning lisp. Perhaps the
right name is "Learning Edition"? A great many interesting things are
precluded by a heap limit. For instance, my CL translation of Dan
Friedman's new logic system with first-class relations blows the heap
limit fairly quickly.

> But that's a personal choice of
> each vendor, and when they deviate for legitimate reasons, we should support
> the idea of choice (which there is all too little left of in computer
> science), not beat the last little bit of diversity out of the world.

Who attacked choice? You use several strawmen, none of which resemble
the words or intent of the posters I have seen in the thread. My
critique of the vendor pricing for one category of user doesn't mean I
don't like the concept of choice. My complaint about not having a
graphical interface doesn't mean I believe there should be no
commercial software. Underneath the locution lie a host of logical
fallacies, non sequiturs, and misrepresentations which seriously harm
the credibility of your argument. Here be dragons.

-- 
Brian Mastenbrook
http://www.cs.indiana.edu/~bmastenb/
From: simon
Subject: academic pricing [was Re: Where to find good lisp critiques?]
Date: 
Message-ID: <m33cc1a5ky.fsf_-_@localhost.localdomain>
It seems that some people are talking past each other on this thread.  I thought
I'd throw my 2 bits in and perhaps clear it up a bit.

While I am still pretty much a newbie at lisp, the code I am writing is simply
not workable in a personal/trial edition.  I have runtimes measured in days to
weeks+, and memory usage in (up to) gigabytes.  I use cmucl for this, and I am
quite happy with it.

On the other hand, while I can work in emacs + ilisp (or whatever), I wouldn't
complain about a more capable development environment!  I have seen demos and
poked around with some trial editions, and some of the capabilities are nice.

I don't care about deployment, or COM, or database integration, or a host of
other things that are part of the 'polish' of the commercial versions.  What I
would *like* to do is develop my research code in as nice an environment as
possible.  Some of these commercial CL's look like they would make my life
significantly easier, but they simply aren't affordable to me.

If we had enough researchers at this institution interested in using it, we
could get a site license from Franz.  With enough people, this would actually be
quite affordable.  In fact, we tried but it was killed by the fact we had barely
enough interest to make it workable, but some people were adamant about windows,
and others about unix (Franz doesn't license cross platform).  The individual
research licence is laughable for a typical grad student.  The same basic
problem exists for Xanalys or MCL, with even smaller potential user bases here.

So if I am to get any sort of license, it is for me alone, as a student
researcher not a student-learning-lisp.

Which brings me to what I believe the point Brian was at least trying to make.
I would probably buy LW or allegro at $100-$200, even with a number of features
removed that are business, not research oriented.  The same goes for MCL, given
hardware availability.  I'm not going to buy any of them at $500, or $600, or
$1500.  As such, I represent an untapped market I guess, because none of the
products on offer are suitable for my needs.

While of course the choice of whether or not to pursue such a market is a
decision to be made by vendors (assuming they are aware it exist), there are, I
believe, a couple of interesting points.

- the classic student edition tradeoffs apply.  The tools I can use now, if I
  like them, have impact on the tools I will buy/recommend later

- in my experience, CL has a very limited profile in academia, and having few
  viable licencing schemes for some people who might go to bat for you isn't
  helping that.

- From a personal point of view, if cmucl/sbcl had not existed, I simply could
  not have begun to use lisp.  Without a high-quality native compiler, it is
  non-starter for me, and I would most probably have looked at the language and
  thought "Wow.  Neat language --- looks like it addresses the problems i've
  been having.  Shame I can't afford to use it."



cheers,
Simon Alexander
From: Pascal Costanza
Subject: Re: academic pricing [was Re: Where to find good lisp critiques?]
Date: 
Message-ID: <bqlu2u$ck4$1@newsreader2.netcologne.de>
simon wrote:

> It seems that some people are talking past each other on this thread.  I thought
> I'd throw my 2 bits in and perhaps clear it up a bit.
> 
> While I am still pretty much a newbie at lisp, the code I am writing is simply
> not workable in a personal/trial edition.  I have runtimes measured in days to
> weeks+, and memory usage in (up to) gigabytes.  I use cmucl for this, and I am
> quite happy with it.
> 
> On the other hand, while I can work in emacs + ilisp (or whatever), I wouldn't
> complain about a more capable development environment!  I have seen demos and
> poked around with some trial editions, and some of the capabilities are nice.
> 
> I don't care about deployment, or COM, or database integration, or a host of
> other things that are part of the 'polish' of the commercial versions.  What I
> would *like* to do is develop my research code in as nice an environment as
> possible.  Some of these commercial CL's look like they would make my life
> significantly easier, but they simply aren't affordable to me.

Have you tried to negotiate with them? Described your situation and 
asked them whether they are able to give you a time-limited version, or 
some such?

(I don't know if this would work, I haven't tried myself. Just a 
suggestion...)


Pascal

-- 
Tyler: "How's that working out for you?"
Jack: "Great."
Tyler: "Keep it up, then."
From: Simon Alexander
Subject: Re: academic pricing [was Re: Where to find good lisp critiques?]
Date: 
Message-ID: <m3ekvhkcqa.fsf@localhost.localdomain>
Pascal Costanza <········@web.de> writes:
 
> Have you tried to negotiate with them? Described your situation and asked
> them whether they are able to give you a time-limited version, or some
> such?
> 
> (I don't know if this would work, I haven't tried myself. Just a
> suggestion...)

A third party was negotiating (with Franz, at least) but as I mentioned
that fell through.  I may, as suggested, try this again in the future to
try and find an individual license that fits my situation, if warranted.
At the moment I both don't really have time to pursue it, and have become
reasonably accustomed to my emacs+ilisp+compiler setup (although it does
have annoyances).  Perhaps in the new year...

Simon
From: Tayss
Subject: Re: academic pricing [was Re: Where to find good lisp critiques?]
Date: 
Message-ID: <5627c6fa.0312041244.5f22df9@posting.google.com>
simon  <··@spam.net> wrote in message news:<·················@localhost.localdomain>...
> If we had enough researchers at this institution interested in using it, we
> could get a site license from Franz.  With enough people, this would actually be
> quite affordable.  In fact, we tried but it was killed by the fact we had barely
> enough interest to make it workable, but some people were adamant about windows,
> and others about unix (Franz doesn't license cross platform).  The individual
> research licence is laughable for a typical grad student.  The same basic
> problem exists for Xanalys or MCL, with even smaller potential user bases here.

Some thoughts:
- An accountant might not care about what you perceive to be high
prices, since human costs and overhead usually dominate.  Speak with a
money person after figuring out Franz's value to your project, and
have that person negotiate.
- You can likely get a special trial version from Franz useful for
your particular tests.  Especially since you can identify yourself as
part of an academic team rather than some guy with a yahoo account.
- Remember that often academic projects need to SPEND enough grant
money in a given time period.  This is actually a big problem they
face, because otherwise they'll lose funding at the next round.

Bitmover, that version control company used by Linux, has people email
for pricing; they prefer dealing with money people than engineers,
because engineers are scared off by certain prices since they judge on
what they'd personally pay, as opposed to the company's perspective. 
(Usually, money issues are hidden from employees -- that Google ceo
from Novell complained about Google not hiding them.  But strange how
well Novell appears to be doing now he's at Google...)

I fully agree with your points, but it actually might not be a problem
in your specific situation.
From: Extrarius
Subject: Re: academic pricing [was Re: Where to find good lisp critiques?]
Date: 
Message-ID: <5213722e.0312041936.7c83bd4e@posting.google.com>
I don't know if it meets your requirement as an 'industrial strength'
compiler, but Corman Lisp does a pretty good job and the student
license is 'only' $125. I don't really like the IDE, but I've yet to
see a Lisp IDE that I liked better than emacs so that isn't really a
minus for Corman Lisp.
You can find it at http://www.cormanlisp.com
From: Simon Alexander
Subject: Re: academic pricing [was Re: Where to find good lisp critiques?]
Date: 
Message-ID: <m38ylpkbpo.fsf@localhost.localdomain>
··········@psychosanity.com (Extrarius) writes:

> I don't know if it meets your requirement as an 'industrial strength'
> compiler, but Corman Lisp does a pretty good job and the student license
> is 'only' $125. I don't really like the IDE, but I've yet to see a Lisp
> IDE that I liked better than emacs so that isn't really a minus for
> Corman Lisp.  You can find it at http://www.cormanlisp.com

Thanks for the suggestion.  For various reasons, Corman isn't appropriate
--- not the least of which is that I (atypically) don't have access to any
win32 machines.  This could, of course, be remedied but from what I know of
that compiler it won't meet the performance requirements for numerical
code.  I fully understand why this isn't a priority for him :)

Simon
From: Paolo Amoroso
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <871xrk1irc.fsf@plato.moon.paoloamoroso.it>
Brian Mastenbrook writes:

> something? I was trying to suggest that it might be in the best
> interests of the vendors to consider student licensing, and gave one
> example of a student who does stuff with CL and would gladly pay for a
> license. I named my price, and it's in line with a lot of other student
> software (which suggests a general sweet spot in the market to me). I

A possibly little known historical tidbit is that, a few years ago,
Franz did offer an Allegro CL student edition. If I recall correctly,
the price was around 500$. In the end they decided to discontinue the
product for reasons Duane Rettig explained here.


Paolo
-- 
Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film
From: Ray Dillinger
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <3FCE5333.DDEDBC7A@sonic.net>
Kent M Pitman wrote:
> 
> ···@famine.OCF.Berkeley.EDU (Thomas F. Burdick) writes:
> 
> > I agree with most of what you've said here, but one should be careful
> > with saying "student edition" around students, because it does have a
> > fairly specific meaning among university students.  "The personal
> > edition is intended for student use" is fine, IMO.
> 
> Programming language has a specific meaning, too.  It means something with
> mostly C++/Java syntax.  But I wouldn't tell the makers of PostScript or
> that they must use the term carefully becuase they don't have what people
> will recognize as a programming language.  I say "good for them" if they
> stretch someone's imagination, and too bad for anyone who assumed a
> programming language had to be a certain way.
> 
> Further, I guess the thing that really miffs me about this whole
> discussion is that people tout the wonders of free software and how
> wonderful it is, but as I've said over and over until I feel like a
> broken record: it drives down the cost one can charge.  What's the net
> effect?  That people are more fussy and less willing to pay.  And NOT
> just for student editions.  So it's hard for the commercial vendors to
> do what you're asking as a more or less.  But worse, only the
> commercial editions seem to have the cool things that you're
> recognizing as the whizzy thing that students want.  So free software
> is not an engine that has cranked out what students need, and it has
> undercut the ability of vendors to cater to the needs of students.
> The reason that the more popular languages can do what they do is that
> they have a larger installed base and can afford these margins.
> It irks me the kind of society we've seemingly voluntarily built
> for ourselves.  If free software is so cool, let it crank out cool free
> interfaces.  If it's not, tell it to stop making it economically impossible
> for those who would crank out such a thing to charge money.  We should be
> willing to pay for the things we get, and when we are  unable, we should
> be thankful, not critical, of what we get.  Grrr.  Fume, fume...

We don't seem to be able to find a good middle ground.  Remember that 
the "free software" thing was founded mainly by programmers (or 
code-artists if you prefer, since they are mainly motivated by aesthetics
rather than economics) who wanted tools we could legally use for projects 
that weren't undertaken for money.  

They wanted to provide software for community organizations and charities
who operate on razor-thin margins in the first place; they wanted to 
provide software for use in the third world where everybody's going to 
copy everything anyway and nobody has money to pay for it.  They wanted 
tools they could use on pet projects they were doing because the problem
interested them rather than because they thought they could make money.

And they got together and they did it.  On the whole, I think that cheap 
ubiquitous software has made the world a better place for most people, 
even if it has shrunk the margins in the software business and lots of us
are now out of paying work.  

It's interesting to note that most of the "margin" that's left in software
is tied up with flashy UI -- which, so far, is precisely what code artists 
have considered to be too boring to bother with.  In other words, the best 
and most interesting work is now being done by artists, because they want
to:  compilers and databases and servers and protocol engines and operating
systems and so on are all free, because they were compelling and interesting
enough to motivate people to work on it regardless of whether those people
would be paid, and because the design tradeoffs of every design leave every
artist convinced he can make something more True or more Beautiful, so they
always undertake new ones.  What's still profitable is UI, which is mostly 
so boring and uniform that there's no compelling reason for a code artist 
motivated by aesthetics to work on it -- no new ground to cover, no 
interesting problems to solve, few and trivial design tradeoffs.  You have 
to pay people to crank out that crap because it's dead boring.  Problems 
that are interesting enough, the code artists will solve for free.

This is now starting to put programming in the same category as music 
or writing.  There are hundreds of would-be novelists for every 
published writer, thousands of struggling cover bands for every successful 
recording contract with a major label.  The reason is the same; if you 
have a field of endeavor (music, novel-writing, programming) which some
people (artists) find so compelling that they will do it regardless of 
whether they get paid, it becomes hard to make a living in.  And like 
bubblegum-pop singers, you can make money without much talent by doing 
stuff that's popular with the uneducated masses; in this case slick UI.  
But it has about the same level of artistic depth, which is why there's 
so little artistic competition over it.

Regarding student use:  If I were instructing students in CL, I'd tell 
them they had to program in Common Lisp, point out some of the major 
implementations, and maybe walk through a few examples using CMUCL in 
class.  If they used Corman, or Franz, or whatever else, personal or 
student or otherwise, I wouldn't care.  But I would make sure there 
was a no-cost system available, because I know that a lot of students 
are really and truly living with a hand-to-mouth poverty where the 
only reason they come up with tuition at all is scholarships and iron
savings discipline combined with several minimum-wage shitjobs.  Their 
budget for class materials can be a couple hundred bucks per class or 
less and I'm going to want them to have a good textbook so half of 
that is already gone.

				Bear
From: Robert St. Amant
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <lpniskx35r0.fsf@haeckel.csc.ncsu.edu>
Ray Dillinger <····@sonic.net> writes:

> It's interesting to note that most of the "margin" that's left in software
> is tied up with flashy UI -- which, so far, is precisely what code artists 
> have considered to be too boring to bother with.  In other words, the best 
> and most interesting work is now being done by artists, because they want
> to:  compilers and databases and servers and protocol engines and operating
> systems and so on are all free, because they were compelling and interesting
> enough to motivate people to work on it regardless of whether those people
> would be paid, and because the design tradeoffs of every design leave every
> artist convinced he can make something more True or more Beautiful, so they
> always undertake new ones.  What's still profitable is UI, which is mostly 
> so boring and uniform that there's no compelling reason for a code artist 
> motivated by aesthetics to work on it -- no new ground to cover, no 
> interesting problems to solve, few and trivial design tradeoffs.

Do "code artists" really believe this about user interfaces?  It's
completely wrong.  They should check out the various conference on
human-computer interaction, the interfaces being developed at Xerox
PARC, CMU, the MIT Media Lab, and so forth, books such as Mullet and
Sano's Designing Visual Interfaces, Olsen's Developing User
Interfaces, Raskin's The Humane Interface, Norman's various books,
etc.  An large proportion of software projects fail because of user
interface considerations; the design tradeoffs can hardly be called
trivial.

> You have to pay people to crank out that crap because it's dead
> boring.

Cranking out interfaces can be boring if an organization has decreed
that only standard, off-the-shelf solutions should be applied (e.g.,
desktop interface designs developed 25 years ago), but that doesn't
mean that interface design problems themselves are boring, only that
following solutions by rote is.  (I've sometimes thought that open
source interfaces really have a nice chance to take off in new
directions, rather than reproduce the standard desktop interface, but
I haven't seen that happen.  Too many constraints on the developer and
user populations, I suppose.)

> Problems that are interesting enough, the code artists will
> solve for free.

Interface problems are difficult and (for many people) interesting
enough, but they are often very hard to formalize, which makes them
less attractive to some.

-- 
Rob St. Amant
http://www4.ncsu.edu/~stamant
From: james anderson
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <3FCE594B.EE242E7A@setf.de>
Ray Dillinger wrote:
> 
> ...
> 
> Regarding student use:  If I were instructing students in CL, I'd tell
> them they had to program in Common Lisp, point out some of the major
> implementations, and maybe walk through a few examples using CMUCL in
> class.  If they used Corman, or Franz, or whatever else, personal or
> student or otherwise, I wouldn't care.  But I would make sure there
> was a no-cost system available, because I know that a lot of students
> are really and truly living with a hand-to-mouth poverty where the
> only reason they come up with tuition at all is scholarships and iron
> savings discipline combined with several minimum-wage shitjobs.  Their
> budget for class materials can be a couple hundred bucks per class or
> less and I'm going to want them to have a good textbook so half of
> that is already gone.
> 

if this is relating experience from an open university, or some
non-european/non-american institution, ok, i'll take it at face value.

otherwise, the equation does not add up. back in "my days", when people
lamented the "disadvantaged" state of graduate students, one of the reasons
they were in such a sorry state, was that every dollar passed through cycles,
epicycles, and epi-epicycles of institutional funding before it reached them.
each of which had its overhead percentage. (ok, i'm exagerating.) if your
students find themselves in that situation with respect to learning tools, one
cannot but ask why, and doubt whether no-cost contributions from vendors would
address the problem.

...
From: Ray Dillinger
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <3FCE6EDE.13F15218@sonic.net>
james anderson wrote:
> 
> Ray Dillinger wrote:
> >
> > ...
> >
> > Regarding student use:  If I were instructing students in CL, I'd tell
> > them they had to program in Common Lisp, point out some of the major
> > implementations, and maybe walk through a few examples using CMUCL in
> > class.  If they used Corman, or Franz, or whatever else, personal or
> > student or otherwise, I wouldn't care.  But I would make sure there
> > was a no-cost system available, because I know that a lot of students
> > are really and truly living with a hand-to-mouth poverty where the
> > only reason they come up with tuition at all is scholarships and iron
> > savings discipline combined with several minimum-wage shitjobs.  Their
> > budget for class materials can be a couple hundred bucks per class or
> > less and I'm going to want them to have a good textbook so half of
> > that is already gone.
> >
> 
> if this is relating experience from an open university, or some
> non-european/non-american institution, ok, i'll take it at face value.

This is relating personal experience from a major midwestern (american) 
university, where I was an undergrad national merit scholar and had one 
minimum-wage job to pay rent and groceries and another to pay tuition 
and books.  There were educational assistance grants and loans to start 
with, but I took too long and became ineligible for them.  Finishing 
after that was hard.  The reason I needed more than one job was because 
neither place would allow me to become entitled to employee benefits 
by working 40 or more hours in any week; I'd get thirty-nine, routinely, 
and they'd tell me to get the hell out.  

I used Linux and GCC (and other free software) because I couldn't afford 
Windows and comparable commercial products.  Free software saved me at 
least a semester of extra time, because commercial software prices would 
have forced me to defer tuition by a semester at least once.  And I did 
not waste money.  I didn't own a car or a TV or a stereo or any designer 
clothes, nor go out on weekends or eat in restaurants; next semester's 
tuition was too important.  More than once I did part-time semesters 
with just one or two classes because I couldn't afford full-time tuition.

Anyway, try not to diss too hard on the people who gave me the stuff I 
needed to graduate, okay?

				Bear
From: james anderson
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <3FCE74CC.1937076B@setf.de>
Ray Dillinger wrote:
> 
> james anderson wrote:
> >
> >
> 
> Anyway, try not to diss too hard on the people who gave me the stuff I
> needed to graduate, okay?
> 

i intended no disrespect for the "people who gave [you] the stuff [you] needed
to graduate." neither did i express any. i call attention to the fact that the
difficulties which you describe were patched over but by no means adressed by
the happenstance availability of free software and suggest, in the context of
this thread, that such problems would more likely be solved by looking at the
institutions rather than by questioning software vendors' marketing practices.

...
From: Ray Dillinger
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <3FCE8798.6D2F2713@sonic.net>
james anderson wrote:
> 
> Ray Dillinger wrote:

> 
> i intended no disrespect for the "people who gave [you] the stuff [you] needed
> to graduate." neither did i express any. i call attention to the fact that the
> difficulties which you describe were patched over but by no means adressed by
> the happenstance availability of free software and suggest, in the context of
> this thread, that such problems would more likely be solved by looking at the
> institutions rather than by questioning software vendors' marketing practices.

Interesting perspective, but why pick one institution and not the other?

Anyway, I didn't much care about software vendors' marketing practices; 
in practice they had little or nothing to do with me because I wasn't 
their target market.  They couldn't have made money by providing what 
I needed, so they had no mission (in the context of the institution of
capitalism) to provide it.  There's no shame in them not doing it; that's 
just a good capitalist decision on their part.

GNU and similar sources, on the other hand, operated as artistic 
institutions rather than capitalistic institutions and had good 
artistic reasons to provide what I needed.  I'm thankful. 

Neither institution (capitalist nor artistic) is up for any criticism 
here; each was operating correctly according to its institutional 
values. 

But I'm not going to shed too many tears if competition from artistic 
sources forces capitalists to lower their prices and margins, even 
at the expense of my own prospects for gainful employment in my chosen
craft.  I believe that it is wrong to suppress the art of others for 
the sake of profits, in exactly the same way that censorship of 
artists for whatever reasons has always been wrong.

			Bear
From: james anderson
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <3FCEE981.921F8B08@setf.de>
Ray Dillinger wrote:
> 
> james anderson wrote:
> >
> > Ray Dillinger wrote:
> 
> >
> > i intended no disrespect for the "people who gave [you] the stuff [you] needed
> > to graduate." neither did i express any. i call attention to the fact that the
> > difficulties which you describe were patched over but by no means adressed by
> > the happenstance availability of free software and suggest, in the context of
> > this thread, that such problems would more likely be solved by looking at the
> > institutions rather than by questioning software vendors' marketing practices.
> 
> Interesting perspective, but why pick one institution and not the other?

as my observation was phrased to apply to most american and european higher
educational institutions, i surmise that this question intends that both
higher education and the software industry are "institutions". the distinction
is that one of those institutions is already provided with immenese resources
and benefits with the ostensible goal that researchers and scholars can
advance the state of arts, science, and engineeering, while the other is not.
if the former instititions are not meeting their responsibilities, they should
be the target of the complaints.

in the "case" under discussion, while the post cited below describes genuine
inadequacies, one wonders whether the stance will lead one to resolve them.

(1) a student "presence" likely consumes several times tuition.
(2) not if they expect someone else to pay for it.
(3) i presume the pc is not sitting out in the street.
(4) why are you not using it?
(5) is this the right place to ask that question? do the opinions in this
forum matter to the progress of the work?
(6) why are you not using it?

someone is providing resources so that one can get on with their work. if they
are not the right resources, either the work is wrong, or there is a case to
be made to the provisioning parties. lisp vendors are not among them.

if i deciphered the respective email address correctly, the respective campus
of the respective institution had a 2002-2003 operating budget of
$1,072,211,657. (i was not able to narrow that down to the cs-department.) i
note that, as part of tuition, a student pays (as of 200204) $200, per
semester, for "technology fees". (that's one of the epi-epi-cycles from my
earlier post. i forgot the smiley on the "ok, i'm exagerating.") if one of
their students does not have the right tools to advance their work or is
working in the street, no amount of generosity on the part of the software
industry will fix that problem.

Brian Mastenbrook wrote:
> 
> In article <·············@dtpq.com>, Christopher C. Stacy
> <······@dtpq.com> wrote:
> 
> > I would suggest that the school that is sponsoring your work should
> > at least help pay for it.
> 
> The school isn't sponsoring my work at all currently.(1) Are students no
> longer expected to be doing interesting things on their own? (2)
> 
> > They didn't make pay for your laboratory
> > equipment that generates the huge data sets, or the electricity that
> > runs the office where you sit, right?
> 
> My "lab equipment" is my PC. I'm an AI person. (3)
> 
> > There's nothing that distinguishes
> > this software that you need from an SEM, DNA sequencer, milling machine,
> > PLC robot, or electronics parts for something you might be assembling.
> > Aren't the providing computer networking and even some computer
> > hardware for you to use on your huge data sets?
> 
> They're providing an Ultra, yes. That Ultra came before me too and
> might even outlast me. (4)
> 
> > Why wouldn't they purchase your copy for use in the lab?
> 
> I bet the Indiana University CS department considers our license to
> Chez Scheme adequate. Who needs that CL stuff? (5)
> 
> > (And if they're going to be buying more than one copy,
> > I bet they can negotiate some sort of discount.)
> 
> The rest of the AI people are using Java these days :-(6)

...
From: David Golden
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <5iHzb.3220$nm6.18047@news.indigo.ie>
>> 
>> The rest of the AI people are using Java these days :-(6)
> 

And many of them busily reimplementing the stuff people (often they
themselves) did in lisp a decade or more ago and trying to pass it off as
new to get continued funding... Grr...

This works in other more mundane fields too - I know, lets have a massive
crusade against RDBMS, replacing it with ill-conceived "OODBMS" throwbacks
to the hierarchical dark-ages.  Then, in a decade's time, we can sweep in
and replace them with an amazing "new" technology....
From: Ray Dillinger
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <3FCF652D.2438E9F9@sonic.net>
David Golden wrote:
> 
> >>
> >> The rest of the AI people are using Java these days :-(6)
> >
> 
> And many of them busily reimplementing the stuff people (often they
> themselves) did in lisp a decade or more ago and trying to pass it off as
> new to get continued funding... Grr...
> 
> This works in other more mundane fields too - I know, lets have a massive
> crusade against RDBMS, replacing it with ill-conceived "OODBMS" throwbacks
> to the hierarchical dark-ages.  Then, in a decade's time, we can sweep in
> and replace them with an amazing "new" technology....


I hate things that change more often than they improve.

			Bear
From: Harag
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <bqntm6$g09$1@ctb-nnrp2.saix.net>
"David Golden" <············@oceanfree.net> wrote in message
·························@news.indigo.ie...
...
> This works in other more mundane fields too - I know, lets have a massive
> crusade against RDBMS, replacing it with ill-conceived "OODBMS" throwbacks
> to the hierarchical dark-ages.  Then, in a decade's time, we can sweep in
> and replace them with an amazing "new" technology....
>

Some how I have got the feeling that one could use the same argument against
LISP's apparrent 'revival' ?!

...something like this...

(DON'T TAKE the following reversal to SERIOUSLY ITS ONLY an example that
struck me as funny)

"This works in other more mundane fields too - I know, lets have a massive
crusade against C++,Java etc, replacing it with ill-conceived 'LISP
dialects' throwbacks
to the LISP(or is that lisp machine) dark-ages.  Then, in a decade's time,
we can sweep in
and replace them with an amazing 'new' technology...."


Seriously thow, I must agree with "ill-conceived" bit, its not a good idea,
and I know, I have had some of those on the very subject of RDBMS until I
tried doing a DB myself ;o)

Still, I would like think it is not 'reinventing the wheel' so much as a
refinement by recycling. There obviously is some dissatisfaction with the
RDBMS (else no one would bother) and who says revisiting some of yesterday's
thoughts on the subject of databases might not deliver (by accident even) a
solution that betters RDBMS or at least offers a viable alternative.
From: Jan Rychter
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <m2n0a9ue2v.fsf@tnuctip.rychter.com>
>>>>> "Kent" == Kent M Pitman writes:
[...]
 Kent> Further, I guess the thing that really miffs me about this whole
 Kent> discussion is that people tout the wonders of free software and
 Kent> how wonderful it is, but as I've said over and over until I feel
 Kent> like a broken record: it drives down the cost one can charge.
 Kent> What's the net effect?  That people are more fussy and less
 Kent> willing to pay.  
[...]

Well, isn't this called "competition", generally perceived as being
healthy for both the consumer and the market?

While I do agree with most of your points, I think you implicitly assume
that free software (which I understand in this context as free
implementations of CL) is technically inferior and only competes on
price.

Well, some people have found this not to be true -- I'm one of
them. CMUCL works pretty well for me. In fact, it runs my code
noticeably faster than Allegro or LispWorks, and speed is rather
important for me, as my code is compute-intensive. Yes, I have tried
reading documentation for each of the implementations and tweaking
compiler settings. No, I didn't make a *huge* effort to optimize for
each particular one.

I guess I could buy LispWorks (probably not Allegro, as I really don't
like the pricing approach). But I have no need to do that now -- in fact
I can't really see the point. I'm happy with CMUCL, XEmacs and SLIME
(recently). Now, most probably in the near future I'll try doing things
like MOP stuff and bump into limitations of the free CL implementations,
that's when I might reconsider. But for the moment, there really is no
point in paying for a commercial implementation in my case.

The point I'd like to make is that there are people who use free
software not because it's cheap, but because it's good. And if it's
good, it means the commercial implementations can get better. I would
like them to get better, for the day might come when I'll actually want
to buy one.

I'd much prefer that kind of competition to a situation where there are
two/three mildly competing vendors on the market, each one sitting in
their niche, with virtually no competition between them. That doesn't
get me good products.

--J.
From: Frank A. Adrian
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <pan.2003.12.04.18.23.14.782149@blueroofassociates.com>
On Thu, 04 Dec 2003 01:28:24 -0800, Jan Rychter wrote:

> The point I'd like to make is that there are people who use free
> software not because it's cheap, but because it's good. And if it's
> good, it means the commercial implementations can get better. I would
> like them to get better, for the day might come when I'll actually want
> to buy one.

Given that there is an ANSI standard and the free
implementations are getting much better at a rapid rate, the vendors
need to shift their implementation strategy away from a focus on compilers
and core technology into service (which they already do very well), better
user-level tools, better library support and interoperability, and new
high-level extensions to make the task of programming in Common Lisp even
more productive.  You can already see this shift taking place with MCL and
Corman (who open source their core code, but keep the tools private).

The real problem for the old hands in the market is that the language
(and vendor's tools) haven't substantially changed in the last 15 years.
It's like the vendors have been stuck in a post LispM timewarp since
1984.  This has given everyone else a chance to catch up.  Figure out what
the next new thing is or the tide will roll over you.

-- 
Frank A. Adrian
Blue Roof Associates
·······@blueroofassociates.com
http://www.blueroofassociates.com
From: Rahul Jain
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <87zne62cb7.fsf@rice.edu>
···@famine.OCF.Berkeley.EDU (Thomas F. Burdick) writes:

> Certainly.  I wasn't arguing that students *couldn't* use the personal
> edition, I was pointing out that it's not the same as a student
> edition.  If Xanalys doesn't want to offer a student edition (and
> apparently they don't), that's fine, that's a marketing decision.  I
> was responding to two posts in a row implying that the personal
> edition was the same thing; it's not.

I think there needs to be a distinction made between an edition to be
used by students to learn Lisp and an edition to be used by researchers
to study CS. Once you've realized that distinction and what it means to
the vendor, I think you'll realize why it doesn't make sense for most of
them to offer an uncrippled student edition. If you're applying your
knowledge of lisp for other purposes, you're not exactly a student of
lisp.

--
Rahul Jain
From: Kent M Pitman
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <sfwptf2ylld.fsf@shell01.TheWorld.com>
Rahul Jain <·····@rice.edu> writes:

> I think there needs to be a distinction made between an edition to be
> used by students to learn Lisp and an edition to be used by researchers
> to study CS.

I think that's definitely right.

> Once you've realized that distinction and what it means to
> the vendor,

Not just to the vendor but to the user.

> I think you'll realize why it doesn't make sense for most of
> them to offer an uncrippled student edition. If you're applying your
> knowledge of lisp for other purposes, you're not exactly a student of
> lisp.

Well, vendors certainly have an interest in people learning that Lisp
is useful for more than car/cdr/cons.  So I wouldn't say that.

However, vendors also just want to get paid like everyone else.  And,
as Chris Stacy pointed out in
 http://www.google.com/groups?selm=u65gxnpc6.fsf%40dtpq.com
research always costs money for a variety of reasons.  That's why
research is usually sponsored.  It generally has a budget and there's 
no reason other than poor planning that Lisp wouldn't be possible 
to budget for, just as an oscilloscope or a piece of numerical analysis
software or the piece of hardware on which the software is to run
would get budgeted for.

Yes, there are institutions that have less money and don't have large
budgets.  But then, yes, there are also numerous free and low-cost
alternatives to use.  It is not a right of every economically
disempowered person to have every possible item that is out of their
reach brought down to cost.

In some cases, maybe there's a special deal you can work out that's in
the economic interest of both the school and the vendor.  In others, maybe
the vendor DOES want to sponsor the research as some sort of charity or
because it can afford a long-term interest in growing the market.  

It's sometimes hard to appreciate what issues a company has to deal
with until you've run one of your own, but maybe nearterm dollars are
precious and long-term dollars are believed to be less so.  And
sometimes a company has to worry more about making payroll and
surviving to another day than about what would happen to the market in
a long term that they might not ever see if they don't make payroll.
Investing in the future is sometimes a luxury, and (US republican
party rhetoric notwithstanding) these are not luxurious times.
From: Peter Herth
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <m31xrh4vxh.fsf@uranus.sol>
Rahul Jain <·····@rice.edu> writes:

> I think there needs to be a distinction made between an edition to be
> used by students to learn Lisp and an edition to be used by researchers
> to study CS. Once you've realized that distinction and what it means to
> the vendor, I think you'll realize why it doesn't make sense for most of
> them to offer an uncrippled student edition. If you're applying your
> knowledge of lisp for other purposes, you're not exactly a student of
> lisp.

Perhaps "student version" is the wrong term then. "Academic version" may
be better. The point of academic versions of software is not that learning
to use this particular software is part of the curriculum. 
Academic discounts are given, because the typical member of the academic
community like students but also lecturers, who both often enough
have to operate on a tight budget, can afford the professional tools.
The academic discounts are biggest with software of course, but you
can even get a lot of hardware discounted if you are a student.
The reasons why companies offer these discounts are several. For one
its some kind of sponsoring of the academic work. But also its the
simple fact that due to "budget" concerns, if the discount would not
been given, the product would not be bought. This means two things.
First, even at the discount price, the company still makes a profit.
Second, its an effective way of marketing, since later in business,
a student might tend to use the tools he used during study too...

Peter
From: Brian Mastenbrook
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <031220030734267528%NOSPAMbmastenbNOSPAM@cs.indiana.edu>
In article <···············@shell01.TheWorld.com>, Kent M Pitman
<······@nhplace.com> wrote:

> I disagree with this.  It's _surely_ possible for a student to do this,
> but students are used to enduring pain in exchange for free things.

Of course.

> 
> (If they don't like it, let them get cormon or a gnu-free version...)
> 

I've put a lot of my own time into the GNU-free CL community. But on
the other hand I am a CL user too, and am not exactly "easy" on a CL
implementation. The code I have been working conses heavily due to some
semi-combinatoric portions. See:

http://www.cs.indiana.edu/~bmastenb/documents/bmgecco03.pdf

> It is simply not necessary for every implementation to cater to every
> kind of user.  It's VERY nice of the two big commercial vendors to
> provide anything at all, and it's ridiculous to nitpick the way in which
> they do it.

I apologize if my post sounded like a nitpick. I'm sure the commercial
CL vendors are trying to do what they think is best for their markets.
So did Symbolics, FWIW.

> 
> CL has a hugely rich set of options for students.  Probably more than
> most languages.

Agreed, but the "low-hanging" fruit for C++ (MS Visual Studio) is a
very, very nice development environment, particularly for debugging. I
know neither Digitool nor Xanalys has the market strength to price
their products academically like MS does (VS is $99), but this removes
the options that are most comparable to what they'll find cheaply for
C++, Java, Pascal, et al.

> Whether each vendor has a rich set of options for students is a
> marketing choice for that particular vendor, and IMO it's quite wrong
> to misconstrue their decision to not do everything you wish as
> anything negative.  You can wish they would do otherwise, but wishing is
> cheap and, in this case, I think not constructive.

Agreed. Let it be known that my original post was a whiny rant with
very little useful content in it.

> (1) It's very easy for student versions to "accidentally" get exported to
> non-student machines and used for real work, resulting in non-payment to
> vendors who need payment to survive.  While we're on the subject of things
> students are prone to do, playing fast and loose with copyright and other
> ethics is true of enough of them that it's reasonable for a vendor to take
> this into account.  Every time a vendor offers a free or reduced price 
> version that is uncrippled, that vendor is risking loss of a sale.  That's
> a serious matter that vendors must evaluate on their own terms and that 
> I think we are not competent to second guess.

From what I can tell, other vendors work with this limitation - see
also Wolfram, who is very very annoying about their license, but it
seems to work for them. Maybe the student market has more pitfalls than
I would anticipate - I would tend to overestimate the nature of people,
honestly.

> (2) The LW Personal Edition is sufficiently powerful that I've often used
> it either accidentally or intentionally for "real work". e.g., if I find 
> myself on a strange machine away from my normal one, I may just download a
> personal edition from Xanalys (figuring it can't hurt the machine's owner
> to find a Lisp laying around and perhaps play with it :) and then use it
> as a stopgap.  And, frankly, it lets me do enough that I often don't find
> it much different than the real one.  Sure, there are situations where it
> isn't good.  But it's good enough that teaching could be designed around it
> and self-taught students can use it just fine.  One reason you cripple a
> version is to give incentive to upgrade when the need is stronger; if you
> uncripple it totally, you lose the incentive and, again, money.  Only vendors
> can know what their own monetary pain thresholds are, IMO.

I'm not a student learning CL - I can say I already know that quite
well. I'm a student /using/ CL. Isn't that what we want - more people
using the language? There seems to be a lot of people who say they'd
like to learn lisp, but fewer say they want to use it.

> (3) If I recall, the Personal Edition was developed and debugged as
> part of a Lisp teaching program with the Open University in England,
> and as far as I know it worked for them.  So even just the isolated 
> claim that students can't make do is suspect.

As I've said, students learning CL probably can use the personal
editions just fine. I'm not learning CL. I'm a first year graduate
student, not a second-year undergraduate trying to learn the language
in an introductory AI class.

If you're wondering why I don't just get the school to pay, as I seem
to be using it for research - it's doubtful that they'd pay for
anything until I was actually into formal research, and I'm sure
getting Indiana University to pay for a CL would be fun...

Of course, perhaps my situation is more isolated than I would hope.
I've talked to a few other students who are in approximately the same
boat, so my personal experience suggests it's not completely unheard
of. Whether the commercial vendors feel this way is up to them.

-- 
Brian Mastenbrook
http://www.cs.indiana.edu/~bmastenb/
From: Paolo Amoroso
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <87d6b58vyy.fsf@plato.moon.paoloamoroso.it>
Brian Mastenbrook writes:

> Agreed, but the "low-hanging" fruit for C++ (MS Visual Studio) is a
> very, very nice development environment, particularly for debugging. I
> know neither Digitool nor Xanalys has the market strength to price
> their products academically like MS does (VS is $99), but this removes

By the way, what are the minimum hardware requirements for
"comfortably" running MS Visual Studio?


Paolo
-- 
Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film
From: Harag
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <bqmnj5$60m$1@ctb-nnrp2.saix.net>
"Paolo Amoroso" <·······@mclink.it> wrote in message
···················@plato.moon.paoloamoroso.it...
...
> By the way, what are the minimum hardware requirements for
> "comfortably" running MS Visual Studio?

450-megahertz (MHz) Pentium II-class processor,
600-MHz Pentium III-class processor recommended

a.. Windows Server 2003:
160 megabytes (MB) of RAM
a.. Windows XP Professional:
160 MB of RAM
a.. Windows XP Home Edition:
96 MB of RAM
a.. Windows 2000 Professional:
96 MB of RAM
a.. Windows 2000 Server:
192 MB of RAM


a.. 900 MB of available space required on system drive, 3.3 gigabytes (GB)
of available space required on installation drive
a.. Additional 1.9 GB of available space required for optional MSDN Library
documentation


If you want more
http://www.msdn.microsoft.com/vstudio/productinfo/sysreqs/default.aspx

Its a bit like asking a developer how long a project will take, you better
add a some fat to the estimation :o)
From: Tim Bradshaw
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <ey3n0aamh94.fsf@lostwithiel.cley.com>
* Thomas F Burdick wrote:
> Kent M Pitman <······@nhplace.com> writes:
>> Brian Mastenbrook <····················@cs.indiana.edu> writes:
>> 
>> > Xanalys would do well to offer a student version.
>> 
>> It does.  The personal edition.  It's free.

> Wow, two in a row.  Heap limits and time limits are bad for
> students.

Good.  They should use one of the multiple free CL implementations
which don't have heap or time limits then, the same way they use gcc
and linux and so on.

(It's funny, but I've *taught* Lisp courses to programmers using the
limited trial version of Xanalys, and I think ACL too.  Somehow these
horrible limits weren't a problem for us.  Students must write much
more demanding applications, I guess.)

Oh, I misunderstood didn't I?  Using the free implementations or
living with the heap & time limits would solve the problem and allow
them to actually learn stuff, instead of whining about evil vendors
who won't give you things for free on usenet, which is *so* much more
fun and educational.

Actually, I'm surprised people still bother complaining: now we all
spend all our time stealing music & video, surely everyone understands
that theft is just fine now.  Just steal the software why don't you,
it's really easier than complaining, and it has to be better to
deprive some evil person working for a Lisp vendor of their livelyhood
than musicians. (After all, you're happy to deprive millions of
Indians of a living by endless protectionist legislation to prevent
`offshoring' of tasks they can do better than you: who cares about
anyone who isn't a student, still less anyone who isn't American?)

--tim
From: Thomas F. Burdick
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <xcvr7zl6751.fsf@famine.OCF.Berkeley.EDU>
Tim Bradshaw <···@cley.com> writes:

> * Thomas F Burdick wrote:
> > Kent M Pitman <······@nhplace.com> writes:
> >> Brian Mastenbrook <····················@cs.indiana.edu> writes:
> >> 
> >> > Xanalys would do well to offer a student version.
> >> 
> >> It does.  The personal edition.  It's free.
> 
> > Wow, two in a row.  Heap limits and time limits are bad for
> > students.
> 
> Good.  They should use one of the multiple free CL implementations
> which don't have heap or time limits then, the same way they use gcc
> and linux and so on.

Yes.

> (It's funny, but I've *taught* Lisp courses to programmers using the
> limited trial version of Xanalys, and I think ACL too.  Somehow these
> horrible limits weren't a problem for us.  Students must write much
> more demanding applications, I guess.)

They do.  CS professors often give very silly requirements, then say,
"use the programming language of your choice."  CMUCL, OpenMCL, SBCL,
and CLISP are all up to the task.  We should (and do) point them to
those implementations, when they need them.

-- 
           /|_     .-----------------------.                        
         ,'  .\  / | No to Imperialist war |                        
     ,--'    _,'   | Wage class war!       |                        
    /       /      `-----------------------'                        
   (   -.  |                               
   |     ) |                               
  (`-.  '--.)                              
   `. )----'                               
From: Michael Hudson
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <m37k1ervcj.fsf@pc150.maths.bris.ac.uk>
Tim Bradshaw <···@cley.com> writes:

> Oh, I misunderstood didn't I?  Using the free implementations or
> living with the heap & time limits would solve the problem and allow
> them to actually learn stuff, instead of whining about evil vendors
> who won't give you things for free on usenet, which is *so* much more
> fun and educational.

I don't think anyone's claimed that vendors should give their
unrestricted versions to students for free yet...

Cheers,
mwh

-- 
  In that case I suggest that to get the correct image you look at
  the screen from inside the monitor whilst standing on your head.  
               -- James Bonfield, http://www.ioccc.org/2000/rince.hint
From: Kent M Pitman
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <sfwllpuuing.fsf@shell01.TheWorld.com>
Michael Hudson <···@python.net> writes:

> Tim Bradshaw <···@cley.com> writes:
> 
> > Oh, I misunderstood didn't I?  Using the free implementations or
> > living with the heap & time limits would solve the problem and allow
> > them to actually learn stuff, instead of whining about evil vendors
> > who won't give you things for free on usenet, which is *so* much more
> > fun and educational.
> 
> I don't think anyone's claimed that vendors should give their
> unrestricted versions to students for free yet...

I have to admit that it sure sounded to me like that was what was 
being requested.

And I think the Franz license is considerably more like this than
the Xanalys license.  I can't speak to the details because I don't
have them in front of me, but I'm pretty sure Franz would be happy
to explain it to someone who was interested.

The point is that there are options for students.  Students don't need
every option to work for them.  And it's not even necessary that they
be competent to evaluate the options--their instructor should be able
to recommend a suitable environment for what's being taught.
From: Louis Theran
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <a2503e25.0312091958.38bb3704@posting.google.com>
Tim Bradshaw <···@cley.com> wrote in message news:<···············@lostwithiel.cley.com>...
> Oh, I misunderstood didn't I? 

For the heck of it, I tried to run a program I wrote for homework with
a heap-limited Lisp.  It's about 50 lines.  I opened up the file with
the data set (only about 8000 examples) and it promptly started to GC
and then quit.

Nobody was talking about learning Lisp; they were talking about
running simple programs.

It's fine that Lisp vendors don't want to deal with the hassle of a
student version.  In fact, I've never heard anybody complain; they
just use Matlab instead, since it's what they found when they went
looking for a high-level language with a nice IDE.

^L
From: Christopher C. Stacy
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <ubrqh6xmj.fsf@news.dtpq.com>
>>>>> On 9 Dec 2003 19:58:05 -0800, Louis Theran ("Louis") writes:

 Louis> Tim Bradshaw <···@cley.com> wrote in message news:<···············@lostwithiel.cley.com>...
 >> Oh, I misunderstood didn't I? 

 Louis> For the heck of it, I tried to run a program I wrote for homework with
 Louis> a heap-limited Lisp.  It's about 50 lines.  I opened up the file with
 Louis> the data set (only about 8000 examples) and it promptly started to GC
 Louis> and then quit.

 Louis> Nobody was talking about learning Lisp; they were talking about
 Louis> running simple programs.

Maybe they should be, so that their 50-line programs don't have 
such serious design bugs that they cons their little brains out.

 Louis> It's fine that Lisp vendors don't want to deal with the hassle of a
 Louis> student version.  In fact, I've never heard anybody complain; they
 Louis> just use Matlab instead, since it's what they found when they went
 Louis> looking for a high-level language with a nice IDE.

If you're more comfortable and competent at programming your
particular problem in MATLAB, why would you want to switch to Lisp?  

And if you did, why would you use a crippled version of Lisp that
was only intended for learning Lisp?
From: Louis Theran
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <a2503e25.0312100545.ee35cf0@posting.google.com>
······@news.dtpq.com (Christopher C. Stacy) wrote in message news:<·············@news.dtpq.com>...

> Maybe they should be, so that their 50-line programs don't have 
> such serious design bugs that they cons their little brains out.

My program never got to run; I just tried to open the (small) data set
in an editor window.  I have no idea why the editor consed 20M on a
300K file; normally I wouldn't care, though.

Save your help for the Lisp vendors.  (Or for that matter, come up
with logspace algorithms for the combinatorial problems another poster
wrote about.)

> If you're more comfortable and competent at programming your
> particular problem in MATLAB, why would you want to switch to Lisp?  

I like Lisp better.  I am a better Lisp programmer.  I have a licensed
version of a different Lisp.

> And if you did, why would you use a crippled version of Lisp that
> was only intended for learning Lisp?

I wouldn't.  I'd figure out how to make it work in another language.

^L
From: Pascal Costanza
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <bqk4sr$orq$1@newsreader2.netcologne.de>
Kent M Pitman wrote:

> Brian Mastenbrook <····················@cs.indiana.edu> writes:
> 
> 
>>Xanalys would do well to offer a student version.
> 
> 
> It does.  The personal edition.  It's free.

One problem might be that the restrictions they place on the personal 
edition sound like _huge_ restrictions when coming from more traditional 
languages. (esp. no executables and no automatic loading of patches)

That such restrictions are only minor ones in Common Lisp is something 
that one only realizes when one has understood how Lisp works.

Pascal

-- 
Tyler: "How's that working out for you?"
Jack: "Great."
Tyler: "Keep it up, then."
From: Kent M Pitman
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <sfwptf6uisw.fsf@shell01.TheWorld.com>
Pascal Costanza <········@web.de> writes:

> Kent M Pitman wrote:
> 
> > Brian Mastenbrook <····················@cs.indiana.edu> writes:
> >
> >>Xanalys would do well to offer a student version.
> > It does.  The personal edition.  It's free.
> 
> One problem might be that the restrictions they place on the personal
> edition sound like _huge_ restrictions when coming from more
> traditional languages. (esp. no executables and no automatic loading
> of patches)
> 
> That such restrictions are only minor ones in Common Lisp is something
> that one only realizes when one has understood how Lisp works.

This is a very interesting point but should be possible to solve in ways
other than changing the restriction.
From: Pascal Costanza
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <bqkra8$8au$1@newsreader2.netcologne.de>
Kent M Pitman wrote:

> Pascal Costanza <········@web.de> writes:
> 
> 
>>Kent M Pitman wrote:
>>
>>
>>>Brian Mastenbrook <····················@cs.indiana.edu> writes:
>>>
>>>
>>>>Xanalys would do well to offer a student version.
>>>
>>>It does.  The personal edition.  It's free.
>>
>>One problem might be that the restrictions they place on the personal
>>edition sound like _huge_ restrictions when coming from more
>>traditional languages. (esp. no executables and no automatic loading
>>of patches)
>>
>>That such restrictions are only minor ones in Common Lisp is something
>>that one only realizes when one has understood how Lisp works.
> 
> 
> This is a very interesting point but should be possible to solve in ways
> other than changing the restriction.

Yes, I totally agree, and I would like to point out that I find the 
LispWorks personal edition is an excellent offering for my needs, and 
far better than I have thought at first myself. I encourage everyone to 
first try it out seriously, and only when the restrictions hurt, 
complain to the LispWorks staff in a polite way.

Here is an example of what is good about it: LispWorks had a problem 
with font settings on Panther at first. I have sent a mail to the 
LispWorks mailing list how to reproduce this bug. I have gotten 
excellent responses from the staff in a relatively short period of time, 
compared to how obviously complicated the bug was to spot.

They have kept me informed about the issue, and sent me a patch as soon 
as they had it, asking me at the same time for feedback whether the 
patch works for me.

I mean, I wouldn't have gotten such _excellent_ support from vendors of 
more mainstream software even if I had paid.

Now, the fact that patches aren't automatically loaded in the personal 
edition is no big deal: it only needs two mouse clicks to load the 
patch, and a few more to change the font settings to what I want. Yes, a 
little bit annoying, but no big deal either. As I said above, the 
restrictions sound more severe than they are in practice.

Users of free versions of other commercial CL implementations most 
probably have made similar good experiences.

Compare this to the responsiveness of Sun wrt Java bugs, or Microsoft 
wrt to .NET or VB bugs.

Pascal

-- 
Tyler: "How's that working out for you?"
Jack: "Great."
Tyler: "Keep it up, then."
From: Edi Weitz
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <87vfoyclu4.fsf@bird.agharta.de>
On Tue, 02 Dec 2003 22:44:40 -0500, Brian Mastenbrook <····················@cs.indiana.edu> wrote:

> Allegro, as far as I'm aware, costs about $1k for a single academic
> license, not including CLIM.

US$ 599 for an academic "Lease" version, see

  <http://www.franz.com/products/packages/>

Edi.
From: Brian Mastenbrook
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <031220030754526245%NOSPAMbmastenbNOSPAM@cs.indiana.edu>
In article <··············@bird.agharta.de>, Edi Weitz <···@agharta.de>
wrote:

> US$ 599 for an academic "Lease" version, see
> 
>   <http://www.franz.com/products/packages/>

Does that expire? I think he (the prof) was looking for something a bit
more permanent, as funding is always ephemeral.

-- 
Brian Mastenbrook
http://www.cs.indiana.edu/~bmastenb/
From: Kent M Pitman
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <sfwhe0iui92.fsf@shell01.TheWorld.com>
Brian Mastenbrook <····················@cs.indiana.edu> writes:

> In article <··············@bird.agharta.de>, Edi Weitz <···@agharta.de>
> wrote:
> 
> > US$ 599 for an academic "Lease" version, see
> > 
> >   <http://www.franz.com/products/packages/>
> 
> Does that expire? I think he (the prof) was looking for something a bit
> more permanent, as funding is always ephemeral.

Um, not to put a monkeywrench in the works, because I can completely
sympathize with the viewpoint expressed here, but just to defend the
possibility that their might be expiration (Franz would be the people
to say if there was):

Vendors have ephemeral funding, too.  If you buy something and don't 
come back, you do two bad things:

 - You don't keep the vendor fed.  They do need this.  They've done their
   part by reducing costs, but they still may need something even if it's
   not profit.  It may seem like extra product editions cost nothing to
   produce, but I've never observed that to be true.  (Just even paying 
   people to read and respond to criticisms of their free or reduced price
   opt offerings to avoid their name being sullied for having done a good
   deed costs money.  And that's not the only expense.)

 - You teach people old technology and give the impression that Lisp
   is out of date.  You need to get new software periodically to be showing
   off the latest, and it costs to produce new revs.  So why shouldn't
   you pay again?

I could easily see a vendor wanting you to come back for either or both
of these quite legitimate reasons.

If you disagree, there are still other options.  Freeware doesn't expire.
From: Brian Mastenbrook
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <031220030854109686%NOSPAMbmastenbNOSPAM@cs.indiana.edu>
In article <···············@shell01.TheWorld.com>, Kent M Pitman
<······@nhplace.com> wrote:

> Um, not to put a monkeywrench in the works, because I can completely
> sympathize with the viewpoint expressed here, but just to defend the
> possibility that their might be expiration (Franz would be the people
> to say if there was):

Whoa, whoa, whoa. I trying to figure out the discrepancy between the
number I heard from the professor who was talking to Franz and the
number on that page. I don't think he would have quoted a number for an
expiring license. I certainly didn't mean to say that Franz was doing
anything wrong with an annual license, just that the number I was
quoting was likely not for the expiring version but for a more
permanent license.

Perhaps my phrasing is at fault - I don't really mean to criticize the
decisions of the CL vendors. I'm sure what works for them works for
them. I do think they have an opportunity to expand their market by
offering something more attractive to students trying to actually use
the language (which precludes heap-limited trials). I'm not sure what
Digitool is thinking with a $450 student product, but perhaps more
students have that kind of money than I'm aware (and I'm fairly
well-paid by the university). My whine was intended to express the
frustration caused by my experience with better tools (I had a
non-limited LispWorks during the 4.3 beta) coupled with their
out-of-reach pricing - nothing more.

-- 
Brian Mastenbrook
http://www.cs.indiana.edu/~bmastenb/
From: Thomas F. Burdick
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <xcvn0a966wk.fsf@famine.OCF.Berkeley.EDU>
Brian Mastenbrook <····················@cs.indiana.edu> writes:

> I'm not sure what Digitool is thinking with a $450 student product,
> but perhaps more students have that kind of money than I'm aware
> (and I'm fairly well-paid by the university).

Have you looked at the cost of Microsoft or Borland student IDEs?
What Digitool offers is pretty much exactly a traditional student
edition.

-- 
           /|_     .-----------------------.                        
         ,'  .\  / | No to Imperialist war |                        
     ,--'    _,'   | Wage class war!       |                        
    /       /      `-----------------------'                        
   (   -.  |                               
   |     ) |                               
  (`-.  '--.)                              
   `. )----'                               
From: Brian Mastenbrook
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <031220031431373631%NOSPAMbmastenbNOSPAM@cs.indiana.edu>
In article <···············@famine.OCF.Berkeley.EDU>, Thomas F. Burdick
<···@famine.OCF.Berkeley.EDU> wrote:

> Brian Mastenbrook <····················@cs.indiana.edu> writes:
> 
> > I'm not sure what Digitool is thinking with a $450 student product,
> > but perhaps more students have that kind of money than I'm aware
> > (and I'm fairly well-paid by the university).
> 
> Have you looked at the cost of Microsoft or Borland student IDEs?
> What Digitool offers is pretty much exactly a traditional student
> edition.

The whole of Microsoft Visual Studio is $99 for academic use. C++
Builder and Delphi are each $99. The major mathematics software vendors
all have sub-$200 student editions too.

I have seen some big 3D packages selling for that much, but as far as
I'm aware, there aren't usually any options for the student - you buy
what your school curriculum uses, so the incentive to price lower is
much reduced.

-- 
Brian Mastenbrook
http://www.cs.indiana.edu/~bmastenb/
From: Thomas F. Burdick
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <xcvk75d5yki.fsf@famine.OCF.Berkeley.EDU>
Brian Mastenbrook <····················@cs.indiana.edu> writes:

> In article <···············@famine.OCF.Berkeley.EDU>, Thomas F. Burdick
> <···@famine.OCF.Berkeley.EDU> wrote:
> 
> > Brian Mastenbrook <····················@cs.indiana.edu> writes:
> > 
> > > I'm not sure what Digitool is thinking with a $450 student product,
> > > but perhaps more students have that kind of money than I'm aware
> > > (and I'm fairly well-paid by the university).
> > 
> > Have you looked at the cost of Microsoft or Borland student IDEs?
> > What Digitool offers is pretty much exactly a traditional student
> > edition.
> 
> The whole of Microsoft Visual Studio is $99 for academic use. C++
> Builder and Delphi are each $99. The major mathematics software vendors
> all have sub-$200 student editions too.

Wow, that's much less than when I last checked when I was a student:
it was more like $300 for Visual C++.  I guess that changed along with
the economy.

-- 
           /|_     .-----------------------.                        
         ,'  .\  / | No to Imperialist war |                        
     ,--'    _,'   | Wage class war!       |                        
    /       /      `-----------------------'                        
   (   -.  |                               
   |     ) |                               
  (`-.  '--.)                              
   `. )----'                               
From: Brian Mastenbrook
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <031220031729266491%NOSPAMbmastenbNOSPAM@cs.indiana.edu>
In article <···············@famine.OCF.Berkeley.EDU>, Thomas F. Burdick
<···@famine.OCF.Berkeley.EDU> wrote:

> Wow, that's much less than when I last checked when I was a student:
> it was more like $300 for Visual C++.  I guess that changed along with
> the economy.

I bought Visual C++ 1.0 just before (or maybe it was just after) 1.5
came out - the standard edition (not even academic) was $75. Several
yeras later I believe VB 4 and 5 cost me about $200, and with the
latter they even threw in a free operating system :-) I don't know the
history of their academic prices, but I think they've had reasonable
deals for quite a while.

-- 
Brian Mastenbrook
http://www.cs.indiana.edu/~bmastenb/
From: Kenny Tilton
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <p6qzb.183966$Gq.22531815@twister.nyc.rr.com>
Brian Mastenbrook wrote:
> Perhaps my phrasing is at fault - I don't really mean to criticize the
> decisions of the CL vendors. I'm sure what works for them works for
> them. I do think they have an opportunity to expand their market by
> offering something more attractive to students trying to actually use
> the language (which precludes heap-limited trials).

I think the problem is combining "student" with "actually use". Sounds 
like they ain't no student no more. :) Students doing intense stuff 
should stop seeing themselves as "just playing around" and realize they 
have crossed the line into "real work". The question is not studenthood, 
the question is "whatcha usin' it for?".

Also, why not use CMUCL or SBCL? Because the IDEs suck? Agreed. Now 
where do you think the nifty commercial IDEs come from? The added-value 
you do not want to do without cost $$$ to create, and take $$$ to acquire.

As for student -> poverty, I don't know, how much is tuition? How much 
is that mountain bike or snowboard? Lisp is an intense tool/language 
(hard to make), and the economies of scale are not there (hard to sell). 
In a few years when Lisp has taken over Fortune 500 you can expect a 
bargain personal license (for anyone, not just students), but till then 
I think vendors need to be given their due.


  I'm not sure what
> Digitool is thinking with a $450 student product, but perhaps more
> students have that kind of money than I'm aware (and I'm fairly
> well-paid by the university). My whine was intended to express the
> frustration caused by my experience with better tools (I had a
> non-limited LispWorks during the 4.3 beta) coupled with their
> out-of-reach pricing - nothing more.

C'mon, squeeze another year out of that Burton and give the better tool 
its due. :)

kt


-- 
http://tilton-technology.com

Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film

Your Project Here! http://alu.cliki.net/Industry%20Application
From: Brian Mastenbrook
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <031220031419048439%NOSPAMbmastenbNOSPAM@cs.indiana.edu>
In article <························@twister.nyc.rr.com>, Kenny Tilton
<·······@nyc.rr.com> wrote:

> I think the problem is combining "student" with "actually use". Sounds 
> like they ain't no student no more. :) Students doing intense stuff 
> should stop seeing themselves as "just playing around" and realize they 
> have crossed the line into "real work". The question is not studenthood, 
> the question is "whatcha usin' it for?".

What I'm using it for is to write source code that is used for
classwork and for the publication of academic papers (on my own time).
Neither one of these generates any revenue for me, so the value
proposition of buying a tool is simply in the saved time or extra
capabilities it presents you. A student is someone whose time is worth
less than their money.

> Also, why not use CMUCL or SBCL? Because the IDEs suck? Agreed.

I do use SBCL. You'll notice my name in the CREDITS file, sir.
Obtaining a better IDE wouldn't stop me from using SBCL either. SBCL
makes a fine deployment environment. I just want a better development
environment.

> Now where do you think the nifty commercial IDEs come from? The added-value 
> you do not want to do without cost $$$ to create, and take $$$ to acquire.

I have never said I wanted anything for free, despite the gross
misrepresentation of my position by KMP. I want something I can afford,
and it's my right to whine if I can't get it. Not that it's entirely
productive, but sometimes whining does make you feel better.

> As for student -> poverty, I don't know, how much is tuition? How much 
> is that mountain bike or snowboard?

Thankfully, tuition is paid by my grant. Room and board and food are
not. I don't have a mountain bike or snowboard - and that's a rather
prejudiced view. My main extra expense is an occasional CD (and
occasional expenses are indeed much more justifiable when you are paid
only occasionally).

> Lisp is an intense tool/language 
> (hard to make), and the economies of scale are not there (hard to sell). 
> In a few years when Lisp has taken over Fortune 500 you can expect a 
> bargain personal license (for anyone, not just students), but till then 
> I think vendors need to be given their due.

What's their due? $450? $600? I simply don't have it.

> C'mon, squeeze another year out of that Burton and give the better tool 
> its due. :)

What's a Burton?

-- 
Brian Mastenbrook
http://www.cs.indiana.edu/~bmastenb/
From: Kenny Tilton
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <U7uzb.183976$Gq.22617937@twister.nyc.rr.com>
Brian Mastenbrook wrote:
> In article <························@twister.nyc.rr.com>, Kenny Tilton
> <·······@nyc.rr.com> wrote:
> 
> 
>>I think the problem is combining "student" with "actually use". Sounds 
>>like they ain't no student no more. :) Students doing intense stuff 
>>should stop seeing themselves as "just playing around" and realize they 
>>have crossed the line into "real work". The question is not studenthood, 
>>the question is "whatcha usin' it for?".
> 
> 
> What I'm using it for is to write source code that is used for
> classwork and for the publication of academic papers (on my own time).

And you are blowing out the capabilities of LW? Well, I guess it depends 
on the app.

> Neither one of these generates any revenue for me, so the value
> proposition of buying a tool is simply in the saved time or extra
> capabilities it presents you. A student is someone whose time is worth
> less than their money.
> 
> 
>>Also, why not use CMUCL or SBCL? Because the IDEs suck? Agreed.
> 
> 
> I do use SBCL. You'll notice my name in the CREDITS file, sir.

"Sir"? Now I really feel old. :) Anyway, credits, schmedits, all I said 
was that clearly the commercial products offer something (IDEs) of great 
value to you, and...

> Obtaining a better IDE wouldn't stop me from using SBCL either. SBCL
> makes a fine deployment environment. I just want a better development
> environment.

... we still agree.

> 
> 
>>Now where do you think the nifty commercial IDEs come from? The added-value 
>>you do not want to do without cost $$$ to create, and take $$$ to acquire.
> 
> 
> I have never said I wanted anything for free, despite the gross
> misrepresentation of my position by KMP. I want something I can afford,
> and it's my right to whine if I can't get it. Not that it's entirely
> productive, but sometimes whining does make you feel better.

OK, in that spirit your whining is perfectly fine. :)

Hey, why not work on getting Hemlock up to speed under SBCL? I find 
doing work in Lisp which benefits everyone (especially cash-starved 
students) using Lisp makes me feel almost as good as whining.

> 
> 
>>As for student -> poverty, I don't know, how much is tuition? How much 
>>is that mountain bike or snowboard?
> 
> 
> Thankfully, tuition is paid by my grant. Room and board and food are
> not. I don't have a mountain bike or snowboard - and that's a rather
> prejudiced view. My main extra expense is an occasional CD (and
> occasional expenses are indeed much more justifiable when you are paid
> only occasionally).
> 
> 
>>Lisp is an intense tool/language 
>>(hard to make), and the economies of scale are not there (hard to sell). 
>>In a few years when Lisp has taken over Fortune 500 you can expect a 
>>bargain personal license (for anyone, not just students), but till then 
>>I think vendors need to be given their due.
> 
> 
> What's their due? $450? $600? I simply don't have it.

I think you are just in an unfortunate niche where the free versions 
don't have enough juice to support your intensive but student stuff. 
Hey, maybe Franz and Xanalys should provide grants (in the form of 
unlimited versions under some still-restrictive license) for up and 
coming talents such as yourself.

> 
> 
>>C'mon, squeeze another year out of that Burton and give the better tool 
>>its due. :)
> 
> 
> What's a Burton?

Snowboards and accessories: http://www.burton.com/

kt


-- 
http://tilton-technology.com

Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film

Your Project Here! http://alu.cliki.net/Industry%20Application
From: Bulent Murtezaoglu
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <87vfoxq0pl.fsf@cubx.internal>
>>>>> "BrM" == Brian Mastenbrook <····················@cs.indiana.edu> writes:

    BrM> ... I do think they have an
    BrM> opportunity to expand their market by offering something more
    BrM> attractive to students trying to actually use the language
    BrM> (which precludes heap-limited trials). 

If you approached them with your situation, maybe they could help you.
Franz had Linux versions out with no heap/time limits some years ago, 
which indeed came in very handy when I was in grad school.  They have 
stopped doing that, but I suspect students with necessarily consy or 
long-running code were not the people they were trying to exclude by 
this decision. (of course maybe you don't run linux...)

    BrM> ... I'm not sure what
    BrM> Digitool is thinking with a $450 student product, but perhaps
    BrM> more students have that kind of money than I'm aware (and I'm
    BrM> fairly well-paid by the university). 

AFAIR that's about the price of a student car for the mechanically 
inclined student.  Not cheap, but not out of the question altogether.  
Is that not so?  

cheers,

BM
From: james anderson
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <3FCE8040.2F1BA02C@setf.de>
Brian Mastenbrook wrote:
>  
> Perhaps my phrasing is at fault - I don't really mean to criticize the
> decisions of the CL vendors. I'm sure what works for them works for
> them. I do think they have an opportunity to expand their market by
> offering something more attractive to students trying to actually use
> the language (which precludes heap-limited trials). I'm not sure what
> Digitool is thinking with a $450 student product, but perhaps more
> students have that kind of money than I'm aware (and I'm fairly
> well-paid by the university). My whine was intended to express the
> frustration caused by my experience with better tools (I had a
> non-limited LispWorks during the 4.3 beta) coupled with their
> out-of-reach pricing - nothing more.

last time i looked mcl 4.3.5 would cost a student $66.00.
what is more, it would run quit nicely on macs which wouldn't cost much more
than that.

...
From: Brian Mastenbrook
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <031220032104061045%NOSPAMbmastenbNOSPAM@cs.indiana.edu>
In article <·················@setf.de>, james anderson
<··············@setf.de> wrote:

> last time i looked mcl 4.3.5 would cost a student $66.00.
> what is more, it would run quit nicely on macs which wouldn't cost much more
> than that.
> 

That's what I'm looking at right now - I'm already on OS X (as for the
people who thought I was looking for windows options - I wasn't. I have
no PC.) I'm worried about how well it runs under classic - the demo
version intermittently refuses to launch, bringing you to a debugger
complaining about a dead mac pointer.

-- 
Brian Mastenbrook
http://www.cs.indiana.edu/~bmastenb/
From: Joe Marshall
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <smk1c2hg.fsf@ccs.neu.edu>
Brian Mastenbrook <····················@cs.indiana.edu> writes:

> Now, if I could take a moment to rant: students need CL too, and we're
> quite a bit poorer than even academic departments. Corman has a good
> student price, considering the already reasonable cost, but the other
> vendors are just nuts, IMHO. Digitool wants $450 for student MCL 5.0,
> and I don't know too many students (myself included) who have that much
> money to spend on a single program when one can make do with the free
> alternatives (though 4.3.5 is a very attractive $66). Xanalys would do
> well to offer a student version. Either of these vendors would have my
> money if they offered a sub-$200 student edition. I don't care about
> application generation - it could be disabled in the student version
> for all I care, and Mathematica-style banners appear on all document
> windows. It would be good for the vendors too - get 'em hooked while
> they're young, I say.

I understand your desires, but aren't they already met?

Both Franz and Xanalys offer `personal/trial edition' for hobbyists
and students at no charge whatsoever.  They did this *precisely* so
that people with a limited budget could use their products.

CMUCL is free on Unix, and CLisp runs on a number of machines and is
also free.

Corman Common Lisp is a fantastic value at its price.  (And when Roger
brings back tail recursion, and preferably full tail-call
optimization, I'll rave about it even more.)

So what is stopping you from using any of these alternatives?

> the other vendors are just nuts, IMHO.

I have heard *many* complaints about the high cost of Allegro Common
Lisp.  It is a significant issue.  But Franz has been around for
twenty years and part of this is because their Lisp product generates
enough revenue to stay afloat.
From: Alain Picard
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <87y8ttjstj.fsf@memetrics.com>
Joe Marshall <···@ccs.neu.edu> writes:

> I have heard *many* complaints about the high cost of Allegro Common
> Lisp.  It is a significant issue.  But Franz has been around for
> twenty years and part of this is because their Lisp product generates
> enough revenue to stay afloat.

Of course.  The complaint is not that Franz is going to go under,
it's that they've chosen to target a customer niche which excludes
a large number of people who would have liked to use their product
had they set up their business model differently.

This niche is, as far as I can tell, twofold:
 1) locked in customers with very deep pockets
 2) companies who have willingly let Franz become
    "partners" in their venture [producing more of (1)]

This niche is small indeed, I suspect.  OTOH, this may be a 
blessing in disguise, as it gives more "breathing space" to
competitors willing to compete for the customers which they
willingly ignore.  All in all, probably a very good thing.
From: Joe Marshall
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <y8tjjtvg.fsf@ccs.neu.edu>
Alain Picard <·······················@optushome.com.au> writes:

> Joe Marshall <···@ccs.neu.edu> writes:
>
>> I have heard *many* complaints about the high cost of Allegro Common
>> Lisp.  It is a significant issue.  But Franz has been around for
>> twenty years and part of this is because their Lisp product generates
>> enough revenue to stay afloat.
>
> Of course.  The complaint is not that Franz is going to go under,
> it's that they've chosen to target a customer niche which excludes
> a large number of people who would have liked to use their product
> had they set up their business model differently.
>
> This niche is, as far as I can tell, twofold:
>  1) locked in customers with very deep pockets
>  2) companies who have willingly let Franz become
>     "partners" in their venture [producing more of (1)]
>
> This niche is small indeed, I suspect.  OTOH, this may be a 
> blessing in disguise, as it gives more "breathing space" to
> competitors willing to compete for the customers which they
> willingly ignore.  All in all, probably a very good thing.

I think there are a couple of other benefits:  it's hard to complain
about lack of vendor stability with a company that's been around that
long.  It also creates a market for companies like Corman.
From: Fred Gilham
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <u765gxfypc.fsf@snapdragon.csl.sri.com>
> Now, if I could take a moment to rant: students need CL too, and
> we're quite a bit poorer than even academic departments.

What you're really saying is that you want Common Lisp *and* Microsoft
Windows.

That you have to pay for.

There are quite powerful free implementations that run under various
flavors of Unix.

-- 
Fred Gilham                                         ······@csl.sri.com
When trying to reach the lowest common denominator, you have to be
prepared for the occasional division by zero.
From: Henrik Motakef
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <868ylt1rv1.fsf@pokey.internal.henrik-motakef.de>
Fred Gilham <······@snapdragon.csl.sri.com> writes:

> What you're really saying is that you want Common Lisp *and* Microsoft
> Windows.
>
> That you have to pay for.
>
> There are quite powerful free implementations that run under various
> flavors of Unix.

CLISP is free and runs on Windows. If you need an IDE or just
generally don't like Emacs, try Jabberwocky.  It is still miles away
from being as polished as, say, Eclipse for Java, but just as
free. And, well, you don't have to program in Java.

Of course, you still have to pay for Windows in the first place. More
than for the Corman Lisp student license, by the way.
From: Peter Herth
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <m37k1ce31f.fsf@uranus.local>
Fred Gilham <······@snapdragon.csl.sri.com> writes:

> There are quite powerful free implementations that run under various
> flavors of Unix.

Well I am currently using cmucl under linux. I think the misconception
in the whole thread is, that all those who ask for a real student version
of a commercial lisp, do not demand to get something for free. Rather
they say: Hey, we would like to spend 100$ on a commercial lisp, if there
were an offer. (I would have gotten Corman Lisp a long time ago, but 
I don't use windows currently (though I got a student version of
Windows NT a long time ago for $99)).

Peter


-- 
Peter Herth
Dawn of the Ages
http://dawn.netcologne.de
From: Fred Gilham
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <u7wu9be1q5.fsf@snapdragon.csl.sri.com>
Peter Herth <·····@netcologne.de> writes:

> Fred Gilham <······@snapdragon.csl.sri.com> writes:
> 
> > There are quite powerful free implementations that run under various
> > flavors of Unix.
> 
> Well I am currently using cmucl under linux. I think the misconception
> in the whole thread is, that all those who ask for a real student version
> of a commercial lisp, do not demand to get something for free. Rather
> they say: Hey, we would like to spend 100$ on a commercial lisp, if there
> were an offer. (I would have gotten Corman Lisp a long time ago, but 
> I don't use windows currently (though I got a student version of
> Windows NT a long time ago for $99)).

This is a good point.  Actually I was just saying the other day to a
co-worker that I've always thought Lisp vendors made a mistake by not
coming out with something along the lines of Borland's Turbo Pascal
--- a true compiler that was affordable by the masses.  I know people
bought Turbo Pascal just because it was a compiler and cheap at $99.

I guess I'm also more sympathetic than I might have sounded in my
original post.  I know students --- like pretty much everyone else ---
would much rather work on their problem than work on getting all the
bits and pieces of a free software installation to work.

-- 
Fred Gilham                                         ······@csl.sri.com
When an economist criticizes any human institution because it has
failed to convey to mankind an incommunicable attribute of God, we can
safely dismiss that economist. The trouble is, there remains a market
for these economists in academia. I regard this fact as one more piece
of evidence for the failure of tax-subsidized education. -- Gary North
From: Tayss
Subject: Re: Where to find good lisp critiques?
Date: 
Message-ID: <5627c6fa.0312091203.5f422cf0@posting.google.com>
··········@yahoo.com (Tayss) wrote in message news:<····························@posting.google.com>...
> I'm trawling through old usenet postings about lisp.  Boy, were they a
> flaming bunch.  (Though some of their criticisms today look silly.) 
> Does anyone know of any places I can find good criticisms?  This
> doesn't have to be just about Common Lisp, but systems like Interlisp
> or how overrated Lisp Machines were would be great too.

Thanks to everyone bearing pointers to stuff I could find.  I'm
starting to realize that there might be surprisingly few critiques:
- does this lisp exploit s-expressions to their fullest?
- general programmy things like speed and mem -- easily outdated and
mitigated!
- does the lisp's services have good cohesion?
- easy to read and work with -- incredibly subjective, and partly
affected by little things such as naming which kind of evolves with
fads and discoveries.
- any braindamage or incompletely specified things?
- does the lisp keep up reasonably well with modern knowledge?

Obviously, a lot of these things contradict others.  And affect some
of the users some of the time.  I personally weigh #1 (exploiting
s-expressions) far higher than the rest, and I don't think CL has
disappointed me yet here.

Speaking of that, I'm wondering why people don't use s-expressions for
other languages like the C family.  Strong compiletimes and weak
runtimes.  Do they just like manipulating text all day?  I kind of
suspect malice, but Napoleon had words about that...