Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

My opinion re LISP

31 views
Skip to first unread message

Claire Quilty

unread,
Oct 17, 2000, 3:00:00 AM10/17/00
to
It's a poorly designed language. I have to use it to write a program
for a Programming LAnguages class. What a joke: instead of using
mnemonics commands like "append", "prepend", "head", "tail", etc,
whatever bozo (apparently some MIT CS legend named John McCarthy)
designed this thing used "cons", "cdr", "car", and other system call
commands that apparently had meaning to him, and him only. I think cdr
is a freaking acronym. It looks like something a Intro to CS student
might write.

I told my CS prof that they should have used mnemonics, and he mumbled
something like "OH, I'll be sure to tell John McCarthy that".

Whatever....


Sent via Deja.com http://www.deja.com/
Before you buy.

The Glauber

unread,
Oct 17, 2000, 3:00:00 AM10/17/00
to
In article <8shhpt$fn3$1...@nnrp1.deja.com>,

cons -> construct
car -> contents of the address register
cdr -> contents of the data register

I always thought these were mnemonic...

Actually, car is "first" and cdr "rest" these days, and Lisp is a beautifully
designed language. It just looks strange and takes some time to learn if you
are used to so-called imperative languages.

glauber
--
Glauber Ribeiro
thegl...@my-deja.com http://www.myvehiclehistoryreport.com
"Opinions stated are my own and not representative of Experian"

Espen Vestre

unread,
Oct 17, 2000, 3:00:00 AM10/17/00
to
Claire Quilty <cr...@my-deja.com> writes:

> It's a poorly designed language. I have to use it to write a program
> for a Programming LAnguages class. What a joke: instead of using
> mnemonics commands like "append", "prepend", "head", "tail", etc,

(append
(first
'((you are) completely wrong))
(rest
'((you were either drunk or you are) a troll!)))
--
(espen)

Eugene Zaikonnikov

unread,
Oct 17, 2000, 3:00:00 AM10/17/00
to
* "Claire" == Claire Quilty <cr...@my-deja.com> writes:

Claire> It's a poorly designed language. I have to use it to write a
Claire> program for a Programming LAnguages class. What a joke:
Claire> instead of using mnemonics commands like "append", "prepend",
Claire> "head", "tail", etc, whatever bozo (apparently some MIT CS
Claire> legend named John McCarthy) designed this thing used "cons",
Claire> "cdr", "car", and other system call commands that apparently
Claire> had meaning to him, and him only. I think cdr is a freaking

Oh yes! strcpy(), strcspn(), vsprintf() are a whole lot fucking more
readable!
Just for your interest, APPEND, FIRST, SECOND, ... LAST, REST are all
there for decades. Consult your instructor or RTFM before trolling.

--
Eugene

vsync

unread,
Oct 17, 2000, 3:00:00 AM10/17/00
to
Claire Quilty <cr...@my-deja.com> writes:

> It's a poorly designed language. I have to use it to write a program
> for a Programming LAnguages class. What a joke: instead of using
> mnemonics commands like "append", "prepend", "head", "tail", etc,
> whatever bozo (apparently some MIT CS legend named John McCarthy)
> designed this thing used "cons", "cdr", "car", and other system call
> commands that apparently had meaning to him, and him only. I think cdr
> is a freaking acronym. It looks like something a Intro to CS student
> might write.
>
> I told my CS prof that they should have used mnemonics, and he mumbled
> something like "OH, I'll be sure to tell John McCarthy that".
>
> Whatever....

LOL! This troll is the finest work of art I have ever seen. I am
going to frame it.

--
vsync
http://quadium.net/ - last updated Sat Oct 7 18:53:10 PDT 2000
(cons (cons (car (cons 'c 'r)) (cdr (cons 'a 'o))) ; Orjner
(cons (cons (car (cons 'n 'c)) (cdr (cons nil 's))) nil))

vsync

unread,
Oct 17, 2000, 3:00:00 AM10/17/00
to
The Glauber <thegl...@my-deja.com> writes:

> Actually, car is "first" and cdr "rest" these days, and Lisp is a beautifully

http://www.everything2.com/index.pl?node_id=499810

vsync

unread,
Oct 17, 2000, 3:00:00 AM10/17/00
to
Eugene Zaikonnikov <vik...@cit.org.by> writes:

> Claire> "head", "tail", etc, whatever bozo (apparently some MIT CS
> Claire> legend named John McCarthy) designed this thing used "cons",

[...]

> there for decades. Consult your instructor or RTFM before trolling.

Among the honorable exploits of Claire Quilty:

http://www.deja.com/getdoc.xp?AN=665615038

Tom Breton

unread,
Oct 17, 2000, 3:00:00 AM10/17/00
to
Claire Quilty <cr...@my-deja.com> writes:
[some flamebait]

I've gotta hand it to you. That's well-written flamebait. I was
going to think for a second that you were serious.

--
Tom Breton, http://world.std.com/~tob
Not using "gh" 1997-2000. http://world.std.com/~tob/ugh-free.html
Some vocal people in cll make frequent, hasty personal attacks, but if
you killfile them cll becomes usable.

Claire Quilty

unread,
Oct 17, 2000, 3:00:00 AM10/17/00
to
In article <m3hf6b5...@world.std.com>,

Tom Breton <t...@world.std.com> wrote:
> Claire Quilty <cr...@my-deja.com> writes:
> [some flamebait]
>
> I've gotta hand it to you. That's well-written flamebait. I was
> going to think for a second that you were serious.
>
>


I AM serious. That's my opinion of LISP. And I resent even having to
learn it.

The Glauber

unread,
Oct 17, 2000, 3:00:00 AM10/17/00
to
In article <8siasp$7c6$1...@nnrp1.deja.com>,
Claire Quilty <cr...@my-deja.com> wrote:
[...]

> I AM serious. That's my opinion of LISP. And I resent even having to
> learn it.


I agree, learning is hard; however, it's still one of the best things you can
do with your life.

--
Glauber Ribeiro
thegl...@my-deja.com http://www.myvehiclehistoryreport.com
"Opinions stated are my own and not representative of Experian"

Michael Parker

unread,
Oct 17, 2000, 3:00:00 AM10/17/00
to

> I AM serious. That's my opinion of LISP. And I resent even having to
> learn it.

I'm sorry you feel that way, dearie. There's a lot you could have
learned from Lisp, had you not closed your mind so soon. Had you
bothered to learn about the language, instead of just hopping to
conclusions on extremely scant information, you would have learned that
Lisp does in fact have more modern alternatives to car and cdr. You
might also have learned that cons is in fact a mnemonic, and that car
and cdr were as well at one time. You might have discovered why, after
all these years, Lisp programmers still tend to use car and cdr instead
of their more mnemonic equivalents.

In short, you might have learned something useful.

In your defense, though, I will say that your sparkling attitude makes
school much simpler, since you don't have to learn anything. I'm sure
your future employers will be impressed by your attitude towards your
education.

And yes, I am being condescending. Your attitude brooks nothing better.

Eugene Zaikonnikov

unread,
Oct 17, 2000, 3:00:00 AM10/17/00
to
* "Claire" == Claire Quilty <cr...@my-deja.com> writes:

Claire> I AM serious. That's my opinion of LISP. And I resent even
Claire> having to learn it.

Ok, it's your opinion. But why do you *post* it here?
Just to let us to know that you dislike Lisp? So alright, now we all
know that; it will make your Karma even worse to your next
resurrection.

--
Eugene

Raymond Toy

unread,
Oct 17, 2000, 3:00:00 AM10/17/00
to
>>>>> "Claire" == Claire Quilty <cr...@my-deja.com> writes:

Claire> In article <m3hf6b5...@world.std.com>,


Claire> Tom Breton <t...@world.std.com> wrote:
>> Claire Quilty <cr...@my-deja.com> writes:
>> [some flamebait]
>>
>> I've gotta hand it to you. That's well-written flamebait. I was
>> going to think for a second that you were serious.
>>
>>


Claire> I AM serious. That's my opinion of LISP. And I resent even having to
Claire> learn it.


Take a different class? Switch majors? Quit school? Stop learning?

Ray

Gareth McCaughan

unread,
Oct 17, 2000, 7:46:38 PM10/17/00
to
Claire Quilty wrote:

> It's a poorly designed language. I have to use it to write a program
> for a Programming LAnguages class. What a joke: instead of using
> mnemonics commands like "append", "prepend", "head", "tail", etc,
> whatever bozo (apparently some MIT CS legend named John McCarthy)
> designed this thing used "cons", "cdr", "car", and other system call
> commands that apparently had meaning to him, and him only. I think cdr
> is a freaking acronym. It looks like something a Intro to CS student
> might write.

<flame>Thanks. I'm sure all of us here in c.l.l had no
idea what to think of the language, but now that we have
the opinion of an undergraduate student on the subject,
what more remains to be said?</flame>

Please consider these.

(first '(1 2 3 4)) ==> 1
(rest '(1 2 3 4)) ==> (2 3 4)
(third '(1 2 3 4)) ==> 3
(nth 2 '(1 2 3 4)) ==> 3 ; counts from 0 like in most languages

(append '(1 2 3 4) '(a b c d)) ==> (1 2 3 4 a b c d)

But yes, Lisp takes some getting used to. It isn't helped
by idiot instructors (I have no idea whether yours is one)
who think they should teach Lisp 1.5 (from the 1960s or
thereabouts) instead of, say, ANSI Common Lisp. The former
is of historical interest only; it's about as current as
FORTRAN IV or the original Dartmouth BASIC. Common Lisp is
an entirely different beast, and once you've got some way
up the learning curve you may be surprised by how pleasant
it is to use. Unless you're really prepared to dismiss it
on the basis of a two-hour introduction given by someone
who doesn't even know that we have more friendly ways to
write CAR and CDR nowadays.

Oh, and if we're playing the intuitive-appeal-to-novices
game, consider

(loop for n from 1 upto 10 sum n) ==> 55

and try to find another language in which that could be
expressed as neatly. :-)

One other thing. CAR and CDR, odd though they look at
first, have some unexpected advantages. Notably, there
are obvious names for their compositions. (CDDDR x)
is the same as (CDR (CDR (CDR x))), but much shorter.
This is actually useful sometimes.

--
Gareth McCaughan Gareth.M...@pobox.com
sig under construc

Aaron Crane

unread,
Oct 17, 2000, 7:25:35 PM10/17/00
to
In article <8siasp$7c6$1...@nnrp1.deja.com>,

Claire Quilty <cr...@my-deja.com> writes:
> In article <m3hf6b5...@world.std.com>,
> Tom Breton <t...@world.std.com> wrote:
> > I've gotta hand it to you. That's well-written flamebait. I was going
> > to think for a second that you were serious.
>
> I AM serious. That's my opinion of LISP. And I resent even having to learn
> it.

If you're resentful of having to learn Lisp, why on earth are you learning
it? Why not go and do something that will make everyone happy -- both you
and the people on whom you're inflicting your ill-mannered and ill-informed
opinions? Or why not just contain your resentment, instead of taking out
your anger and aggression on thousands of people worldwide who don't even
know who you are?

Given all this, I hardly need point out how ridiculous you make yourself
seem when the only vaguely technical comment you can make on Lisp is that
you dislike the names CONS, CAR and CDR.

--
Aaron Crane

Friedrich Dominicus

unread,
Oct 18, 2000, 1:23:06 AM10/18/00
to
Gareth.M...@pobox.com (Gareth McCaughan) writes:

>
> Oh, and if we're playing the intuitive-appeal-to-novices
> game, consider
>
> (loop for n from 1 upto 10 sum n) ==> 55

Haskell:
sum [1 .. 10]

;-)


>
> and try to find another language in which that could be
> expressed as neatly. :-)

Now I guess I found it ;-)

Till then
Friedrich
--
for e-mail reply remove all after .com

Claire Quilty

unread,
Oct 18, 2000, 1:56:25 AM10/18/00
to
In article <8sicja$91b$1...@nnrp1.deja.com>,

The Glauber <thegl...@my-deja.com> wrote:
> In article <8siasp$7c6$1...@nnrp1.deja.com>,
> Claire Quilty <cr...@my-deja.com> wrote:
> [...]

> > I AM serious. That's my opinion of LISP. And I resent even having to
> > learn it.
>
> I agree, learning is hard;

For you, maybe.
As for myself, I prefer to spend my time learning things other than
antique, academic languages.

Friedrich Dominicus

unread,
Oct 18, 2000, 2:15:41 AM10/18/00
to
Claire Quilty <cr...@my-deja.com> writes:

> >
> > I agree, learning is hard;
>
> For you, maybe.
> As for myself, I prefer to spend my time learning things other than
> antique, academic languages.

Antique academic language? Why do you bother this group with such
stuff? If you don't like it, don't learn it. But you even have not a
glimpse what Lisp is about. And you are totally ignorant, and it seems
you are lacking just the slightest sign of tolerance.

It's really a shame that ignorants as you may think they know
everything better than anyone else. And it's shocking to imaging that
you will get a programmer one day.

Worst regards

Erik Naggum

unread,
Oct 18, 2000, 3:00:00 AM10/18/00
to
* Claire Quilty <cr...@my-deja.com>

| It's a poorly designed language.

Well, what did you expect? It was designed back in the early
1640's, when computers were driven by slaves and falling water.
Of _course_ it must have some historical elements that are hard to
explain to an obstinate youngster of today. I mean, sheesh.

But look at our grand history! Take the fine Constitution of the
United States, culminating in the best ever display of political
savvy and eloquence in that grand parade towards a new _President_.
Look how the initial ideas have been able to survive a culture
transformation from toiling the land to betting on Internet bubbles
on the stock market, or from bookish people who knew how little they
knew about running countries and who argued over essentials to that
effect to today's wonderful, broadcast presidential debates where
they have simple answers for everything, yet the best value for the
money is found in the increasingly glorious commercials, made
possible by the right ideas from the outset: Lisp is like that: Its
glorious beginnings have not been diminished by the passage of time,
but those who come to the world today can hardly see the heritage
for the colorful outgrowth it allowed but which is distrzcting them.

Think of the people who built this world out of individual conses,
(they didn't have cars back then, much less cdrs), and rejoice in
the wonder that is the world of today, for the ancient idea has
grown and spread to every living thing: That which is or looks like
dying we call _listless_.

Students of today! They do not want to learn, only exploit the past
so that their future may be short and bright. Afterwards, nothing,
garbage collected. Listen to the parens who embraced and nourished
you and you will see that history is not to be discarded, it is the
foundation upon which we walk.

#:Erik
--
I agree with everything you say, but I would
attack to death your right to say it.
-- Tom Stoppard

Erik Naggum

unread,
Oct 18, 2000, 3:00:00 AM10/18/00
to
* Claire Quilty <cr...@my-deja.com>

| As for myself, I prefer to spend my time learning things other than
| antique, academic languages.

Why don't you just do what you prefer to do? It's pretty haughty of
you to think that we're interested in hearing you tell us about it
if you don't even do it.

Erik Naggum

unread,
Oct 18, 2000, 3:00:00 AM10/18/00
to
* Friedrich Dominicus

| It's really a shame that ignorants as you may think they know
| everything better than anyone else.

Well, that's what the world hs come to. Arrogant ignorants with an
attitude and an attention span only sufficient to be influenced by
TV commercials. All you can do is help shoot them down.

| And it's shocking to imagine that you will get a programmer one day.

I, too, fear that he might wind up a manager.
(But that's maybe not what you meant? :)

Friedrich Dominicus

unread,
Oct 18, 2000, 3:00:00 AM10/18/00
to
Erik Naggum <er...@naggum.net> writes:

>
> | And it's shocking to imagine that you will get a programmer one day.
>
> I, too, fear that he might wind up a manager.
> (But that's maybe not what you meant? :)

Not exactly but one have to be aware of him. Either if having him as
Manager (better quit soon) or Co-programmer (he'll probably will stick
to "superior" languages like ...., asking himself why the Lisp guy
has finished while he has hardly started ;-)

The thing which really get's on my nerves. He obviously hardly has
scratched the surface, and than he comes up with such a opinion based
on nearly nothing. Imagine how he would react I would come to a
language group he might know (I hardly believe he really knows of even
mastered another language) and say; This language xxxx is the last
.... .

Regards

Christopher Browne

unread,
Oct 18, 2000, 3:00:00 AM10/18/00
to
In our last episode (Wed, 18 Oct 2000 05:56:25 GMT),

the artist formerly known as Claire Quilty said:
>In article <8sicja$91b$1...@nnrp1.deja.com>,
> The Glauber <thegl...@my-deja.com> wrote:
>> In article <8siasp$7c6$1...@nnrp1.deja.com>,
>> Claire Quilty <cr...@my-deja.com> wrote:
>> [...]
>> > I AM serious. That's my opinion of LISP. And I resent even having to
>> > learn it.
>>
>> I agree, learning is hard;
>
>For you, maybe.
>As for myself, I prefer to spend my time learning things other than
>antique, academic languages.

Bully for you. Then go learn something else instead of Lisp.

Oddly enough, it was not so long ago that people weren't considered
educated unless they knew Latin and Ancient Greek, both of which
decidedly represent "antique, academic languages."

Usenet is a big place; there is lots of room for you to have bigoted
feelings. There are places for people to dispute over their opinions on
the distribution of guns, the availability of surgical abortions, and
whether or not there should be a new ascendancy of the Third Reich.

Amongst all that, there's certainly room for you to hold a dispute
over whether or not antiquity indicates uselessness.

Oddly enough, English is a language that is several hundred years old,
and which, despite being pretty antique, is still used.

Computers were invented in the late 1940s, and, strangely enough, are
still in use.

The notable professions of soldiering, politicking, and prostitution
were all developed thousands of years ago, but their antiquity does
not establish that they are obsolete.

The origin of the wheel is lost in antiquity, yet they are used on
more automobiles than you can shake a stick at...
--
cbbr...@acm.org - <http://www.hex.net/~cbbrowne/lsf.html>
When sign makers go on strike, is anything written on their signs?

vsync

unread,
Oct 18, 2000, 3:00:00 AM10/18/00
to
Claire Quilty <cr...@my-deja.com> writes:

> As for myself, I prefer to spend my time learning things other than
> antique, academic languages.

And you would prefer, say, C or BASIC?

It might be productive to go and find out how old those languages
actually are.

Paolo Amoroso

unread,
Oct 18, 2000, 3:00:00 AM10/18/00
to
On Tue, 17 Oct 2000 12:47:59 GMT, Claire Quilty <cr...@my-deja.com> wrote:

> It's a poorly designed language. I have to use it to write a program
> for a Programming LAnguages class. What a joke: instead of using

I guess your professor would be happy to spare you the trouble of learning
Lisp and changing your class assignment to the following one: design and
implement--using your favorite language, of course--a programming language
better than Common Lisp (extra credit: use your newly created language to
develop antique, academic B2B applications like those by Commerce One
http://www.commerceone.com/).


Paolo
--
EncyCMUCLopedia * Extensive collection of CMU Common Lisp documentation
http://cvs2.cons.org:8000/cmucl/doc/EncyCMUCLopedia/

Paolo Amoroso

unread,
Oct 18, 2000, 3:00:00 AM10/18/00
to
On 18 Oct 2000 10:35:21 +0200, Tom Ivar Helbekkmo <tih...@kpnQwest.no>
wrote:

> Oh, shit. Such a gorgeous troll, and it turns out to be _real_? :-(

What's worse, he didn't even mention parentheses.

Sam Falkner

unread,
Oct 18, 2000, 3:00:00 AM10/18/00
to
Claire Quilty <cr...@my-deja.com> writes:

> It's a poorly designed language. I have to use it to write a program
> for a Programming LAnguages class. What a joke: instead of using

> mnemonics commands like "append", "prepend", "head", "tail", etc,
> whatever bozo (apparently some MIT CS legend named John McCarthy)
> designed this thing used "cons", "cdr", "car", and other system call
> commands that apparently had meaning to him, and him only. I think cdr
> is a freaking acronym. It looks like something a Intro to CS student
> might write.

This reminds me of when I was about ten years old. I thought that a
6502 was a better CPU than a Z-80, because the 6502 was "color", and
the Z-80 was "black and white". (This is obvious -- one only need
look at the Apple II versus the TRS-80.)

Normally, I would be terribly embarrassed to admit this, but in light
of the post included here, I think my mistake wasn't so bad.

- Sam

Gareth McCaughan

unread,
Oct 18, 2000, 3:00:00 AM10/18/00
to
Friedrich Dominicus wrote:

[I said:]


> > Oh, and if we're playing the intuitive-appeal-to-novices
> > game, consider
> >
> > (loop for n from 1 upto 10 sum n) ==> 55
>
> Haskell:
> sum [1 .. 10]

Mmm, nice.

Hartmann Schaffer

unread,
Oct 18, 2000, 3:00:00 AM10/18/00
to
In article <39EE34DA...@enterprise.net>,
Donald Fisk <hibou000...@enterprise.net> wrote:
> ...
>I don't think it's just a troll. Spare a thought for her --

don't be so sure. over the weekend somebody using the same handle
was posing similarly braindamaged arguments extolling the superiority
of microsoft word over other word processors in comp.os.linux.misc.
somebody claims this person is a well known troll changing its name
every three months. supposedly this is the first time it (this word
was chosen deliberately) uses a female handle

>she's probably struggling with difficult concepts like nested

if the name similarity is not coincidental its only problem with lisp
is that people who use it didn't buy it from microsoft

> ...

hs

Hartmann Schaffer

unread,
Oct 18, 2000, 3:00:00 AM10/18/00
to
In article <87u2aa1...@q-software-solutions.com>,

i would suggest you just ignore it. if we encourage it to keep up the
discussion we'l probably be treated to some expose what a well
designed language visual basic is

hs

Donald Fisk

unread,
Oct 18, 2000, 7:40:10 PM10/18/00
to
vsync wrote:
>
> Claire Quilty <cr...@my-deja.com> writes:
>
> > It's a poorly designed language.

It's the language designer's language, and this language designer
thinks it's the dog's bollocks. It's dead easy to build a new
language in it, and it's full of interesting concepts -- lambda,
series, generic functions, etc. The weaknesses IMO are the package
system, and format strings, though I don't suppose you've got that
far.

> > I have to use it to write a program
> > for a Programming LAnguages class. What a joke: instead of using
> > mnemonics commands like "append", "prepend", "head", "tail", etc,

There's an APPEND. I can't see the need for a PREPEND as well -- just
reverse the order of the arguments will do.

> > whatever bozo (apparently some MIT CS legend named John McCarthy)
> > designed this thing used "cons", "cdr", "car", and other system call

As opposed to the more modern FIRST and REST, which do what they say
they do. CAR and CDR are there for historical reasons.

I don't suppose you like a certain operating system where to show a file
you type cat, and to get help you type man. Much better an OS where
you type 'show file', and to get help you press the HELP key.
The only trouble is that the system language that comes with it is Lisp.

> > commands that apparently had meaning to him, and him only. I think cdr
> > is a freaking acronym. It looks like something a Intro to CS student
> > might write.
> >

> > I told my CS prof that they should have used mnemonics, and he mumbled
> > something like "OH, I'll be sure to tell John McCarthy that".
> >
> > Whatever....
>
> LOL! This troll is the finest work of art I have ever seen. I am
> going to frame it.

I don't think it's just a troll. Spare a thought for her --

she's probably struggling with difficult concepts like nested

function calls and -- horror of horrors -- recursion.

It's a fact of life that some of the best things in life are
an acquired taste, and not appreciated on first sampling. Lisp
just happens to be one of them. Her attitude reminds me of
a suit I met in In De Wildeman in Amsterdam, who ordered whatever
it was that I was having (I must have had an orgasmic expression
on my face at the time). I was drinking a rather uncompromising
Lambic. The look on his face after taking one mouthful of the
same was anything but orgasmic.

> vsync

--
Le Hibou
My other car's a Lisp function.

Gareth McCaughan

unread,
Oct 18, 2000, 8:34:35 PM10/18/00
to
Donald Fisk wrote:

> There's an APPEND. I can't see the need for a PREPEND as well -- just
> reverse the order of the arguments will do.

I think she's thinking destructively. So she wants
an APPEND that mutates a list by adding elements
to its far end (and, let's be honest, NCONC isn't a
great name for that) and a PREPEND that mutates a list
by adding elements to its near end.

Robert Monfera

unread,
Oct 18, 2000, 9:00:22 PM10/18/00
to
Gareth McCaughan wrote:

> Oh, and if we're playing the intuitive-appeal-to-novices
> game, consider
>
> (loop for n from 1 upto 10 sum n) ==> 55
>
> and try to find another language in which that could be
> expressed as neatly. :-)

(with-plagiarism (* 5 11))

Robert

Tim Olson

unread,
Oct 19, 2000, 3:00:00 AM10/19/00
to
In article <39EE472C...@fisec.com>, Robert Monfera
<mon...@fisec.com> wrote:

| Gareth McCaughan wrote:
|
| > Oh, and if we're playing the intuitive-appeal-to-novices
| > game, consider
| >
| > (loop for n from 1 upto 10 sum n) ==> 55
| >
| > and try to find another language in which that could be
| > expressed as neatly. :-)

In Smalltalk, this would be:

(1 to: 10) sum

How this works:

The Integer '1' is sent the message 'to:' with the parameter '10'.
The to: method in the Number class (of which '1' is a member) creates a
new Interval with the range 1 .. 10.

This new Interval is sent the 'sum' message, which invokes the 'sum'
method in the Collection class (of which Interval is a member). This
method computes the sum of all the objects in the collection (the Interval
range), and returns the Integer 55.

--

-- Tim Olson

Ian Wild

unread,
Oct 19, 2000, 3:00:00 AM10/19/00
to
Tim Olson wrote:
>
> In article <39EE472C...@fisec.com>, Robert Monfera
> <mon...@fisec.com> wrote:
>
> | Gareth McCaughan wrote:
> |
> | > Oh, and if we're playing the intuitive-appeal-to-novices
> | > game, consider
> | >
> | > (loop for n from 1 upto 10 sum n) ==> 55
> | >
> | > and try to find another language in which that could be
> | > expressed as neatly. :-)
>
> In Smalltalk, this would be:
>
> (1 to: 10) sum

Still, APL's

+/i10

remains the most intuitive. Or would, if this
keyboard had a lower case iota.

Erik Naggum

unread,
Oct 19, 2000, 3:00:00 AM10/19/00
to
* Donald Fisk <hibou000...@enterprise.net>

| I don't think it's just a troll. Spare a thought for her --
| she's probably struggling with difficult concepts like nested
| function calls and -- horror of horrors -- recursion.

People who struggle show some patience with their struggles, and
show some signs of happiness at mastering each tiny little piece of
the problem. People who don't struggle, anymore, but are forced to
do something they are incompetent at, display the kinds of attitude
that at least two recent contributors to this newsgroup display,
where being at least somewhat aware of the skills, knowledge, and
experience required to pass judgment is considered unnecessary.

Cut no slack towards people who have no patience towards others.

Claire Quilty

unread,
Oct 19, 2000, 3:00:00 AM10/19/00
to
In article <8sliku$jgq$1...@paradise.nirvananet>,

h...@paradise.nirvananet (Hartmann Schaffer) wrote:
> In article <39EE34DA...@enterprise.net>,
> Donald Fisk <hibou000...@enterprise.net> wrote:
> > ...
> >I don't think it's just a troll. Spare a thought for her --
>
> don't be so sure. over the weekend somebody using the same handle
> was posing similarly braindamaged arguments extolling the superiority
> of microsoft word over other word processors in comp.os.linux.misc.
> somebody claims this person is a well known troll changing its name
> every three months. supposedly this is the first time it (this word
> was chosen deliberately) uses a female handle
>
> >she's probably struggling with difficult concepts like nested
>
> if the name similarity is not coincidental its only problem with lisp
> is that people who use it didn't buy it from microsoft


You got the wrong person.
BTW, Claire Quilty is a nom de plume. It comes from an old novel by
Vladimir Nabokov. *He* was the nemesis of the novel's protagonist,
Humbert Humbert. I guess I am this NG's nemesis, in a very mild way.

I really don't know why you keep insisting on calling me a troll.
I just gave my opinion about LISP. I don't like it and I don't like
having to learn it. I have other more important things to learn.

As far as the practical worth of LISP to me as a person, the search
engine at www.dice.com pretty much tells the whole story:

C++: 48,000 ads
Java: 38,000 ads
LISP: 62 ads

End of story. LISP loses.

Now...I have to go do my lab LISP exercises. Hmmm. How to build a
function that does a cross product of 2 lists?

Gee...that would be *really* easy to do in C/C++/Java.
But no, I have to go digging through books and websites looking for
silly things like how to assign to variables. Meanwhile, I have several
thick books of Java libraries to memorize. Ah, well, they will have to
wait....

Michael Livshin

unread,
Oct 19, 2000, 3:00:00 AM10/19/00
to
Claire Quilty <cr...@my-deja.com> writes:

> Now...I have to go do my lab LISP exercises. Hmmm. How to build a
> function that does a cross product of 2 lists?
>
> Gee...that would be *really* easy to do in C/C++/Java.

solution: drop out of your Uni, write in C++ (most jobs don't give a
fuck about college degrees -- in fact, there are those who prefer
their C drones without a degree, so that said drones can be paid less)
and, above all, go away from this newsgroup and _don't_ _come_ _back_.

easy, no?

--
(only legal replies to this address are accepted)

Long computations which yield zero are probably all for naught.

vsync

unread,
Oct 19, 2000, 3:00:00 AM10/19/00
to
Claire Quilty <cr...@my-deja.com> writes:

> As far as the practical worth of LISP to me as a person, the search
> engine at www.dice.com pretty much tells the whole story:
>
> C++: 48,000 ads
> Java: 38,000 ads
> LISP: 62 ads

Look! Prima facie evidence of Lisp's superiority!

Erik Naggum

unread,
Oct 19, 2000, 3:00:00 AM10/19/00
to
* Claire Quilty <cr...@my-deja.com>

| I guess I am this NG's nemesis, in a very mild way.

_I_ guess you suffer from pathologically inflated self-importance,
as in delusions of grandeur. This is what afflicts some people who
think they are entitled to respect for their joke of an opinion
simply because they are able to post to USENET. It used to take
some guts and something to say to stand up in front of a crowd and
present one's opinions. It used to give most people a kind of
thrill to do that and be recognized. This was an important part of
public life in the past. Today, that feeling of being recognized
can be brought into existence merely by being an annoying pest like
you are. It takes a particularly sad person to feel something good
after being "recognized" solely for having annoyed others.

In your own eyes, you think of yourself as a nemesis. Actually, you
draw attention only because you are a vacuum. You are worse than
nothing when you inflate that nothingness you are into a "namesis"
by virtue of having annoyed some people into responding to you.

You are a sick person, even if what you really are is a role-playing
schmuck who does not even have the guts to use his own identity.

| I really don't know why you keep insisting on calling me a troll.

It is what your behavior unequivocally tells us you are, with no
redeeming qualities and very low probably of being wrong about you.
Adjust your self-perception accordingly, please.

| I just gave my opinion about LISP.

It is very obvious by now that you did not give an _opinion_. There
is very clear evidence in your behavior that you do not even _have_
an opinion on Lisp. Opinions are formed in an intellectual process.
You provide no evidence of such a process having occurred, instead
quite the opposite: You display a need to get attention that has
crossed the border between loneliness and mental illness.

The evidence you continue to provide suggests that you posted what
you thought would cause others to respond to you in this forum. To
call that an _opinion_ is an insult to every sentient being on the
planet and beyond, yourself just barely included. What you posted
and continue to post is a lunatic shriek: "Please notice me!" You
_have_ been noticed, you _have_ been seen. The only problem is,
this time you have been noticed for what you _are_, not what you
hoped to be able to pretend to look like: Someone worth listening to.

| I don't like it and I don't like having to learn it. I have other
| more important things to learn.

I do not think you are able to learn anything in your stage. If you
had more important things to learn, you would just have done it.

| As far as the practical worth of LISP to me as a person, the search
| engine at www.dice.com pretty much tells the whole story:
|
| C++: 48,000 ads
| Java: 38,000 ads
| LISP: 62 ads
|

| End of story. LISP loses.

How many job ads did you find for "President of the United States"?
I hear it is quite the race to get that job in the U.S. media right
now. But there are none, right? Perhaps counting ads is not the
best measure of things _really_ important in this world? Perhaps
advertising is a means of communicating to losers, the people who do
_not_ find know what they need, the people who are manipulable into
purchasing products by constantly insulting their intelligence and
overwhelming their mental capacity with ideals and imagery and
pictures of desirable models and lifestyles they would have no hope
of getting close to except if they buy that product which associates
them with the unreachable and unattainable. Or in other words, how
many big ads did your significant other (assuming you have one) put
out in order for you to find her? Which _mass_market_ did you go to
in order to find love and companionship? Or did you not? Perhaps
the _mass_market_ is not where anyone else goes for the most valued
elements of their life, either? Perhaps making the mass market big
is reserved for a _very_ small fraction of the products out there?
Perhaps the remaining products are those that really _count_?

Or perhaps you _are_ the kind of person that TV commercials effect
into buying products. That would explain a _lot_. It would also
explain why you think of yourself as so important that everybody
should care about your opinion: Advertising exaggerates your life
into something slightly fantastic. The advertising world's view of
your life and life on this planet in general is one in which you,
the consumer, are suddenly taking part in the lives of movie stars,
public figures, etc, simply by doing something they do, except you
have to pay a little to do what they get paid lots to do. So you
think that just because you can post to the Net, like so many real
people do, you are a real person. Because you can post what might
pass for an opinion if everyone were comatose, like many important
people can post real opinions, you become an important person, too.

Why on earth did you do something so personally revealing about your
personality and your views on life, values, even _yourself_ as you
did counting those ads? Did you not realize what you were telling
people when you did that? What kind of _basis_ for your opinions do
you think you communicate by that choice of metric and method? How
can anyone trust an ad-counter to think for himself? How could
anyone who thinks the number of ads he finds is an indicator of
anything at all form an independent _opinion_? Such a person is a
product of the ads he has seen, nothing more and nothing less, so
why should we listen to such a _product_ rather than to the _cause_
of these ads? Counting job ads to determine future success is like
determining which is the better company to work for by counting the
number of people they lay off. The fewer ads, the less desperate.

And why do you think you had anything _new_ to bring to a forum by
counting ads? Whose intelligence do you think you reduced the most
by pretending we did not already know what only you could bring this
forum with those ad counters: Ours or your own?

I have one piece of advice for you, "Claire Quilty": Learn to think.
Whatever it is you are doing now, it is not learning because it does
not involve any thinking.

Finally, you do not need to thank me for giving you more attention
than you could ever have hoped for. It was a pleasure. I assume
you did _not_ enjoy it, but that is what happens when people get
what they ask for and they do not have the smarts to ask for what
they would be happy to get. Now, go think, and be quiet for a while.

Espen Vestre

unread,
Oct 19, 2000, 3:00:00 AM10/19/00
to
Claire Quilty <cr...@my-deja.com> writes:

> I really don't know why you keep insisting on calling me a troll.

...


> Now...I have to go do my lab LISP exercises. Hmmm. How to build a
> function that does a cross product of 2 lists?
>
> Gee...that would be *really* easy to do in C/C++/Java.

Error: Constraint NOT-TROLL violated.
There are no available restarts - exiting.

--
(espen)

Dirk Zoller

unread,
Oct 19, 2000, 3:00:00 AM10/19/00
to
Claire Quilty wrote:
> Gee...that would be *really* easy to do in C/C++/Java.
> But no, I have to go digging through books and websites looking for
> silly things like how to assign to variables. Meanwhile, I have several
> thick books of Java libraries to memorize. Ah, well, they will have to
> wait....


There is a joke, (sorry for the poor translation)


Hand a phone book to a student of Math and ask him to learn it by heart.
He will ask "Why!?"

Do the same with a student of medicine, and he will ask "until when?".

Frank A. Adrian

unread,
Oct 19, 2000, 3:00:00 AM10/19/00
to
"Claire Quilty" <cr...@my-deja.com> wrote in message
news:8so64b$1tc$1...@nnrp1.deja.com...
> It's "affect," not "effect".

And you're too stupid to trim the text you reply to, as well.

Loser.

faa

Frank A. Adrian

unread,
Oct 19, 2000, 3:00:00 AM10/19/00
to
"Gareth McCaughan" <Gareth.M...@pobox.com> wrote in message
news:slrn8uv302.p9.G...@g.local...
> This is actually quite interesting. My challenge has been
> answered with suggestions of Haskell, Smalltalk and APL.
> Now, what do Common Lisp, Haskell, Smalltalk and APL have
> in common? One answer: They are all languages that some
> ignorant people think are terribly hard and obscure.
> What an odd world this is, to be sure.

Odd indeed. Powerful constructs often seen obscure until one puts forth the
effort to understand them. As with many investments in life, the amount
returned seems meager at first but, with perseverance, compounds. Usually,
over the long run, ones efforts are handsomely rewarded.

faa

Hartmann Schaffer

unread,
Oct 19, 2000, 3:00:00 AM10/19/00
to
In article <8snag4$96n$1...@nnrp1.deja.com>,

Claire Quilty <cr...@my-deja.com> wrote:
>In article <8sliku$jgq$1...@paradise.nirvananet>,
> h...@paradise.nirvananet (Hartmann Schaffer) wrote:
>> In article <39EE34DA...@enterprise.net>,
>> Donald Fisk <hibou000...@enterprise.net> wrote:
>> > ...
>> >I don't think it's just a troll. Spare a thought for her --
>>
>> don't be so sure. over the weekend somebody using the same handle
>> was posing similarly braindamaged arguments extolling the superiority
> ...

>You got the wrong person.

in that case sorry for my suspicion. i just found it too suspicious
that the same name comes up suddenly in messages that employ a similar
style of flame bating

>BTW, Claire Quilty is a nom de plume. It comes from an old novel by

did something happen in te literature field within the last few days
to make that name popular?

> ...


>I really don't know why you keep insisting on calling me a troll.

>I just gave my opinion about LISP. I don't like it and I don't like


>having to learn it. I have other more important things to learn.

this opinion is based on so superficial criteria, that that alone
qualifies you already as a troll. and, if you really have more
important things to learn, why do you waste your and our time posting
this nonsense.

>As far as the practical worth of LISP to me as a person, the search
>engine at www.dice.com pretty much tells the whole story:
>
>C++: 48,000 ads
>Java: 38,000 ads
>LISP: 62 ads
>
>End of story. LISP loses.

only if your sole purpose for going to school is to be employed for a
few years. learning lisp (scheme even more so) will expose you to a
few concepts in languages and programming that will enable you to
understand, hence use, tha language du jour better. you will also
have an easier time to learn the next language du jour once your
current tool falls out of fashion

>Now...I have to go do my lab LISP exercises. Hmmm. How to build a
>function that does a cross product of 2 lists?

easy

>Gee...that would be *really* easy to do in C/C++/Java.
>But no, I have to go digging through books and websites looking for
>silly things like how to assign to variables. Meanwhile, I have several

oh, so your complaint about lisp is that you haven't learnt abything
yet and now have to show what you have learnt? poor baby

btw, you can do this without assignments

> ...

hs

Bruce Hoult

unread,
Oct 19, 2000, 4:26:50 PM10/19/00
to
In article <8snag4$96n$1...@nnrp1.deja.com>, Claire Quilty
<cr...@my-deja.com> wrote:

> As far as the practical worth of LISP to me as a person, the search
> engine at www.dice.com pretty much tells the whole story:
>
> C++: 48,000 ads
> Java: 38,000 ads
> LISP: 62 ads
>
> End of story. LISP loses.

Hmm. Why? How many jobs do you need? How many companies are you going
to send your resume to? 40,000?


> Gee...that would be *really* easy to do in C/C++/Java.
> But no, I have to go digging through books and websites looking for
> silly things like how to assign to variables.

Why would you want to do that?


> Meanwhile, I have several
> thick books of Java libraries to memorize.

And you call Java *better*?

-- Bruce

Claire Quilty

unread,
Oct 19, 2000, 9:11:42 PM10/19/00
to
In article <31809796...@naggum.net>,

It's "affect," not "effect".

> into buying products. That would explain a _lot_. It would also

--
Cryonics: Gateway to the Future?
http://www.cryonet.org

J Russell

unread,
Oct 19, 2000, 9:48:36 PM10/19/00
to
Claire Quilty wrote:
>
> In article <31809796...@naggum.net>,
> Erik Naggum <er...@naggum.net> wrote:
> >
> > Or perhaps you _are_ the kind of person that TV commercials effect
> > into buying products.
>
> It's "affect," not "effect".
>

Wrong. Look up the verb 'effect' in you nearest dictionary.

I also recommend a brief perusal of

"A Dictionary of Modern English Usage"
by H. W. Fowler (Editor), Sir Ernest Gowers

http://www.amazon.com/exec/obidos/ASIN/0192813897/

But, stay far, far away from the "New" Fowler's.

-James Russell

J Russell

unread,
Oct 19, 2000, 9:50:18 PM10/19/00
to
J Russell wrote:
> Wrong. Look up the verb 'effect' in you nearest dictionary.
^your

(whoops)
> -James Russell

Gareth McCaughan

unread,
Oct 19, 2000, 8:04:18 PM10/19/00
to
Tim Olson wrote:

[I said:]


> | > Oh, and if we're playing the intuitive-appeal-to-novices
> | > game, consider
> | >
> | > (loop for n from 1 upto 10 sum n) ==> 55
> | >
> | > and try to find another language in which that could be
> | > expressed as neatly. :-)
>

> In Smalltalk, this would be:
>
> (1 to: 10) sum

This is actually quite interesting. My challenge has been


answered with suggestions of Haskell, Smalltalk and APL.
Now, what do Common Lisp, Haskell, Smalltalk and APL have
in common? One answer: They are all languages that some
ignorant people think are terribly hard and obscure.
What an odd world this is, to be sure.

Incidentally, I suspect that for my challenge as stated
the "best" solution is one that works in many languages,
including more or less all the "mainstream" ones:
1+2+3+4+5+6+7+8+9+10. This doesn't generalize well
to larger values of 10, though.

Dave Pearson

unread,
Oct 20, 2000, 3:00:00 AM10/20/00
to
On Thu, 19 Oct 2000 17:20:11 GMT, Claire Quilty <cr...@my-deja.com> wrote:

> As far as the practical worth of LISP to me as a person, the search engine
> at www.dice.com pretty much tells the whole story:
>
> C++: 48,000 ads
> Java: 38,000 ads
> LISP: 62 ads
>
> End of story. LISP loses.

If that's an important measure to you then you'll *never* like lisp. Chances
are you'll never like your job either.

> Now...I have to go do my lab LISP exercises. Hmmm. How to build a function
> that does a cross product of 2 lists?
>

> Gee...that would be *really* easy to do in C/C++/Java. But no, I have to
> go digging through books and websites looking for silly things like how to

> assign to variables. Meanwhile, I have several thick books of Java


> libraries to memorize. Ah, well, they will have to wait....

Because you've learned how to assign a value to a variable in a couple of
languages already you're now really upset because you have to learn it in
another language? Awwww.

--
The volume of job ads reflects the number of people who quit those jobs and
are deemed replaceable by placing job ads, not the jobs people want to hold
on to.
Erik Naggum in comp.lang.lisp <31698427...@naggum.no>

Erik Naggum

unread,
Oct 20, 2000, 3:00:00 AM10/20/00
to
* Claire Quilty <cr...@my-deja.com>

| It's "affect," not "effect".

Wrong. But I am happy that you confirm and agree with everything
else I said by not commenting on it.

Tord Kallqvist Romstad

unread,
Oct 20, 2000, 3:00:00 AM10/20/00
to
Claire Quilty <cr...@my-deja.com> writes:

> Now...I have to go do my lab LISP exercises. Hmmm. How to build a
> function that does a cross product of 2 lists?
>
> Gee...that would be *really* easy to do in C/C++/Java.

It is also absolutely trivial to do in Lisp. Hint: use mapcar. The
function shouldn't need to be more than three or four lines long.

> But no, I have to go digging through books and websites looking for
> silly things like how to assign to variables.

Which is no harder to do in Lisp than in any other language. You seem
to find lots of things difficult to do in Lisp for the simple reason
that you do not know even the most basic parts of the language. It
seems unfair to blame Lisp the language for your lack of knowledge.

--
Tord Romstad

Tord Kallqvist Romstad

unread,
Oct 20, 2000, 3:00:00 AM10/20/00
to
Claire Quilty <cr...@my-deja.com> writes:

> In article <m3hf6b5...@world.std.com>,


> Tom Breton <t...@world.std.com> wrote:
> > Claire Quilty <cr...@my-deja.com> writes:

> > [some flamebait]
> >
> > I've gotta hand it to you. That's well-written flamebait. I was
> > going to think for a second that you were serious.
>
> I AM serious. That's my opinion of LISP. And I resent even having to
> learn it.

Having strong opinions about something you don't even possess the most
rudimentary knowledge about is not particularly intelligent. It's
called "predjudice".

--
Tord Romstad

Espen Vestre

unread,
Oct 20, 2000, 3:00:00 AM10/20/00
to
Tord Kallqvist Romstad <rom...@janus.uio.no> writes:

> It is also absolutely trivial to do in Lisp. Hint: use mapcar. The
> function shouldn't need to be more than three or four lines long.

I would say that anything longer than 2 lines is a bad solution...

--
(espen)

John David Stone

unread,
Oct 20, 2000, 3:00:00 AM10/20/00
to

> BTW, Claire Quilty is a nom de plume. It comes from an old novel by
> Vladimir Nabokov.

Or, more precisely, it's a misspelling of the name of Nabokov's
character, Clare Quilty -- as anyone who read the novel would know.

--
John David Stone - Lecturer in Computer Science and Philosophy
Manager of the Mathematics Local-Area Network
Grinnell College - Grinnell, Iowa 50112 - USA
st...@cs.grinnell.edu - http://www.cs.grinnell.edu/~stone/


Morten Eriksen

unread,
Oct 20, 2000, 3:00:00 AM10/20/00
to
Espen Vestre <espen@*do-not-spam-me*.vestre.net> writes:

I had a feeling I did this in a very suboptimal way, yes.. any hints
on how to improve / rewrite it would be most welcome:

(defun vec3-cross (v0 v1)
"Returns the cross product of the vectors v0 and v1."
(map 'simple-vector #'-
(vector (* (svref v0 1) (svref v1 2)) (* (svref v0 2) (svref v1 0)) (* (svref v0 0) (svref v1 1)))
(vector (* (svref v0 2) (svref v1 1)) (* (svref v0 0) (svref v1 2)) (* (svref v0 1) (svref v1 0)))))


Morten,
still only on page 80 of Graham's "ANSI Common Lisp" :^}
--
Ees a sad an' beautiful world

Gareth McCaughan

unread,
Oct 20, 2000, 3:00:00 AM10/20/00
to
Tord Kallqvist Romstad wrote:

["Claire Quilty" wrote:]


> > Now...I have to go do my lab LISP exercises. Hmmm. How to build a
> > function that does a cross product of 2 lists?
>

> It is also absolutely trivial to do in Lisp. Hint: use mapcar. The
> function shouldn't need to be more than three or four lines long.

Two.

(***** *****-******* (* *)
(****** (****** (*) (****** (****** (*) (**** * *)) *)) *))

Christopher Browne

unread,
Oct 20, 2000, 10:37:38 PM10/20/00
to
In our last episode (Fri, 20 Oct 2000 01:11:42 GMT),

the artist formerly known as Claire Quilty said:
>> Or perhaps you _are_ the kind of person that TV commercials effect
>> into buying products. That would explain a _lot_.
>
>It's "affect," not "effect".

Ah. A Spelling Troll.

Who apparently hasn't fully plumbed the depths of usage of the words
"affect" and "effect." Suffice it to say YOU'RE WRONG; while Erik may
be using English as a second language, and might thereby be excused if
he used the wrong word, on occasion, this use of the word "effect" is
FINE.

Consult your local dictionary.

By the way, Plonk!
--
(concatenate 'string "cbbrowne" "@" "ntlug.org")
<http://www.ntlug.org/~cbbrowne/>
Rules of the Evil Overlord #100. "Finally, to keep my subjects
permanently locked in a mindless trance, I will provide each of them
with free unlimited Internet access. <http://www.eviloverlord.com/>

Claire Quilty

unread,
Oct 21, 2000, 3:00:00 AM10/21/00
to
In article <slrn8v0s79.3v...@test.sdt.com>,

cbbr...@hex.net wrote:
> In our last episode (Fri, 20 Oct 2000 01:11:42 GMT),
> the artist formerly known as Claire Quilty said:
> >> Or perhaps you _are_ the kind of person that TV commercials
effect
> >> into buying products. That would explain a _lot_.
> >
> >It's "affect," not "effect".
>
> Ah. A Spelling Troll.
>
> Who apparently hasn't fully plumbed the depths of usage of the words
> "affect" and "effect." Suffice it to say YOU'RE WRONG; while Erik may
> be using English as a second language, and might thereby be excused if
> he used the wrong word, on occasion, this use of the word "effect" is
> FINE.

I am NOT wrong. I am right, and YOU are wrong.

Christopher Browne

unread,
Oct 21, 2000, 3:00:00 AM10/21/00
to
In our last episode (Sat, 21 Oct 2000 12:32:35 GMT),

the artist formerly known as Claire Quilty said:
>> In our last episode (Fri, 20 Oct 2000 01:11:42 GMT),
>> the artist formerly known as Claire Quilty said:
>> >> Or perhaps you _are_ the kind of person that TV commercials
>effect
>> >> into buying products. That would explain a _lot_.
>> >
>> >It's "affect," not "effect".
>>
>> Ah. A Spelling Troll.
>>
>> Who apparently hasn't fully plumbed the depths of usage of the words
>> "affect" and "effect." Suffice it to say YOU'RE WRONG; while Erik may
>> be using English as a second language, and might thereby be excused if
>> he used the wrong word, on occasion, this use of the word "effect" is
>> FINE.
>
>I am NOT wrong. I am right, and YOU are wrong.

Have you actually looked at a dictionary to examine the usage of the
words "affect" and "effect"?

I did, and it confirmed the appropriateness of #Erik's usage.

Oops. I forgot to Plonk you here. Fixed...
--
aa...@freenet.carleton.ca - <http://www.hex.net/~cbbrowne/linux.html>
"Administering a Linux server is no more difficult than properly
running Windows NT." -- Infoworld, November 24, 1997

Donald Fisk

unread,
Oct 21, 2000, 3:00:00 AM10/21/00
to
Claire Quilty wrote:
>
> In article <8sliku$jgq$1...@paradise.nirvananet>,
> h...@paradise.nirvananet (Hartmann Schaffer) wrote:
> > In article <39EE34DA...@enterprise.net>,
> > Donald Fisk <hibou000...@enterprise.net> wrote:
> > > ...
> > >I don't think it's just a troll. Spare a thought for her --
> >
> > don't be so sure. over the weekend somebody using the same handle
> > was posing similarly braindamaged arguments extolling the superiority
> > of microsoft word over other word processors in comp.os.linux.misc.
> > somebody claims this person is a well known troll changing its name
> > every three months. supposedly this is the first time it (this word
> > was chosen deliberately) uses a female handle
> >
> > >she's probably struggling with difficult concepts like nested
> >
> > if the name similarity is not coincidental its only problem with lisp
> > is that people who use it didn't buy it from microsoft
>
> You got the wrong person.
> BTW, Claire Quilty is a nom de plume. It comes from an old novel by
> Vladimir Nabokov. *He* was the nemesis of the novel's protagonist,
> Humbert Humbert. I guess I am this NG's nemesis, in a very mild way.

>
> I really don't know why you keep insisting on calling me a troll.
> I just gave my opinion about LISP. I don't like it and I don't like

> having to learn it. I have other more important things to learn.
>
> As far as the practical worth of LISP to me as a person, the search
> engine at www.dice.com pretty much tells the whole story:
>
> C++: 48,000 ads
> Java: 38,000 ads
> LISP: 62 ads
>
> End of story. LISP loses.

It's pretty much the same in any market -- mediocrity wins
hands down because most customers are too mediocre to recognize
excellence. Hence, Gerald Ratner was able to build up a huge
jewellery empire which only unravelled when he admitted that
his most popular range of merchandise was, in his words, 'crap'.

Are you seriously claiming that

(1) Barbara Cartland was the best English language novelist?
(2) Budweiser (Anheuser Busch) is the best American beer?
(3) McDonalds have the world's best restaurants?

> Now...I have to go do my lab LISP exercises. Hmmm. How to build a
> function that does a cross product of 2 lists?
>

> Gee...that would be *really* easy to do in C/C++/Java.

> But no, I have to go digging through books and websites looking for
> silly things like how to assign to variables.

(setf variable value)

If you had a decent grasp of computer science, you'd realize that
assignment should be considered harmful along with GOTO. After
all, the program counter is just another register, the one that
points to the instruction currently executing. And a GOTO is
an assignment to the program counter. In Lisp, there's less
need for assignment statements than in procedural languages like
C/C++/Java, which is entirely a good thing. It means that it's
easier to debug and verify code, for one thing.

> Meanwhile, I have several
> thick books of Java libraries to memorize.

There are no thick books which teach you how to program. Memorization
will not help you be a good programmer -- in fact the time wasted on
it means less time is spent learning to program.

--
Le Hibou
With regard to Mr Blair's "gut British instinct" --
would that be the same British gut, with "pussy-
hunter" tattooed on it, we saw being repatriated
from Charleroi recently? -- Peter Kenvyn Jones

Claire Quilty

unread,
Oct 21, 2000, 3:00:00 AM10/21/00
to

Well, you have all been *so* sweet...

The lab exercises are all done. They did get a bit interesting, as it
turned out. And yes, assignments turned out to be less than desireable;
recursion with incrementing was the best path for the harder stuff:
Less work trying to figure out all those damm rules about parenthesis
placement....

Arne Knut Roev

unread,
Oct 21, 2000, 3:00:00 AM10/21/00
to
vsync <vs...@quadium.net> wrote:
> Claire Quilty <cr...@my-deja.com> writes:
>
>> As far as the practical worth of LISP to me as a person, the search
>> engine at www.dice.com pretty much tells the whole story:
>>
>> C++: 48,000 ads
>> Java: 38,000 ads
>> LISP: 62 ads
>
> Look! Prima facie evidence of Lisp's superiority!

;-))

(with-a-contented-sigh
"Finally someone who "
(underline "knows")
" logic!")

--
Arne Knut Roev <akr...@online.no> Snail: N-6141 ROVDE, Norway
=
The Gates of Hell shall not prevail:
Darkness now; then Light!

Gareth McCaughan

unread,
Oct 21, 2000, 3:00:00 AM10/21/00
to
Morten Eriksen wrote:

["cross products"]


> I had a feeling I did this in a very suboptimal way, yes.. any hints
> on how to improve / rewrite it would be most welcome:
>
> (defun vec3-cross (v0 v1)
> "Returns the cross product of the vectors v0 and v1."
> (map 'simple-vector #'-
> (vector (* (svref v0 1) (svref v1 2)) (* (svref v0 2) (svref v1 0)) (* (svref v0 0) (svref v1 1)))
> (vector (* (svref v0 2) (svref v1 1)) (* (svref v0 0) (svref v1 2)) (* (svref v0 1) (svref v1 0)))))

Ah. I think you and some others here are at, er, cross purposes.
I know that I took "cross product" to mean "cartesian product",
not "vector product".

If I were doing a lot of the kind of stuff that needs "your"
kind of cross products, I might define some handy macros
(Which could well be useful over and over again)

(defmacro with-vector-elements (bindings &body body)
(let ((element-lists (mapcar #'first bindings))
(vector-expressions (mapcar #'second bindings))
(vector-names (mapcar (lambda (x) (gensym)) bindings)))
(let ((initial-bindings (mapcar #'list vector-names vector-expressions))
(element-bindings
(mapcan
(lambda (element-list vector-name)
(loop for index upfrom 0
for element-name in element-list
collect
`(,element-name (aref ,vector-name ,index))))
element-lists vector-names)))
`(let ,initial-bindings
(let ,element-bindings
,@body)))))

(defmacro def-vector-function (name args &rest resulting-element-list)
(let* ((argument-names (mapcar (lambda (x) (gensym)) args))
(wve-bindings (mapcar #'list args argument-names))
(result-form
(if (= (length resulting-element-list) 1)
(first resulting-element-list)
(cons 'vector resulting-element-list))))
`(defun ,name ,argument-names
(with-vector-elements ,wve-bindings
,result-form))))

and then say

(def-vector-function vec ((x y z) (a b c))
(- (* y c) (* z b))
(- (* z a) (* x c))
(- (* x b) (* y a)))

and, for comparison,

(def-vector-function +3v ((x y z) (a b c)) (+ x a) (+ y b) (+ z c))
(def-vector-function -3v ((x y z) (a b c)) (- x a) (- y b) (- z c))
(def-vector-function dot3 ((x y z) (a b c)) (+ (* x a) (* y b) (* z c)))

and maybe even

(def-vector-function *q ((u x y z) (p a b c))
(- (* u p) (* x a) (* y b) (* z c))
(- (+ (* u a) (* x p) (* y c)) (* z b))
(- (+ (* u b) (* y p) (* z a)) (* x c))
(- (+ (* u c) (* z p) (* x b)) (* y a)))

if quaternions were helpful. (Consider what happens when U and P
are 0 to see a connection with VEC and DOT3.)

I's also consider throwing in some declarations and using MAKE-ARRAY
with an ELEMENT-TYPE different from T, if performance really mattered
(which it might well do in the sort of numerical or graphics-y work
that would be likely to benefit from a "vector product" function).
It would also be necessary to declare the argument of the gensym-maker
lambda used twice up there as IGNORED. Note that all this pain is
concealed in the macros, enabling you to write the *real* code
cleanly without worrying about putting type declarations everywhere
for efficiency.

DEF-VECTOR-FUNCTION might be overkill; I'm not sure. On the whole,
I think I like it.

Tim Bradshaw

unread,
Oct 22, 2000, 3:00:00 AM10/22/00
to
* Tord Kallqvist Romstad wrote:


> It is also absolutely trivial to do in Lisp. Hint: use mapcar. The
> function shouldn't need to be more than three or four lines long.

Unless she means inner product, I don't think there's much point in
using any kind of mapping fn. -- cross product is only well-defined
for 3-dimensions, so it would seem futile to generalise. If you *do*
want to generalise you need to introduce things like 1-forms and
tensor algebra. Of course she's probably doping a CS degree and they
don't do stuff like that, I guess.

--tim


Tim Bradshaw

unread,
Oct 22, 2000, 3:00:00 AM10/22/00
to
* Claire Quilty wrote:

> I am NOT wrong. I am right, and YOU are wrong.

I wish to put this article forward for consideration as c.l.l posting
of the year.

--tim (who sadly has to admit that one reason he reads c.l.l is to
watch people who richly deserve it get torn to shreds, even if it
often seems to happen to people who don't as well)

Espen Vestre

unread,
Oct 23, 2000, 3:00:00 AM10/23/00
to
Morten Eriksen <mor...@sim.no> writes:

> > I would say that anything longer than 2 lines is a bad solution...
>

> I had a feeling I did this in a very suboptimal way, yes.. any hints
> on how to improve / rewrite it would be most welcome:

well, as probably has become clear by now, I was thinking of the
cartesian product of two sets (it is not uncommon and not at all
"wrong" to call the cartesian product "cross product", by the way).
--
(espen)

Tord Kallqvist Romstad

unread,
Oct 23, 2000, 3:00:00 AM10/23/00
to
Espen Vestre <espen@*do-not-spam-me*.vestre.net> writes:

I was also thinking about the Cartesian product of two sets. You are
right, 2 lines is enough. Before trying, I thought the second line
would be too long and would need to be broken somewhere ...

--
Tord Romstad

Tim Bradshaw

unread,
Oct 23, 2000, 3:00:00 AM10/23/00
to
Espen Vestre <espen@*do-not-spam-me*.vestre.net> writes:


> well, as probably has become clear by now, I was thinking of the
> cartesian product of two sets (it is not uncommon and not at all
> "wrong" to call the cartesian product "cross product", by the way).

I'm interested (really, I'm not trying to make some stupid point) in
what cultures this is so. I've never heard the cartesian product
called a cross product, but I'm a physicist and I don't think
cartesian products are generally very interesting there (well, they
are for things like definitions of spaces, like R^n) . To make life
more confusing the outer product of vectors is also sometimes called
the cross product, and is different...

--tim

Tord Kallqvist Romstad

unread,
Oct 23, 2000, 3:00:00 AM10/23/00
to
Tim Bradshaw <t...@tfeb.org> writes:

> Espen Vestre <espen@*do-not-spam-me*.vestre.net> writes:
>
> > well, as probably has become clear by now, I was thinking of the
> > cartesian product of two sets (it is not uncommon and not at all
> > "wrong" to call the cartesian product "cross product", by the way).
>
> I'm interested (really, I'm not trying to make some stupid point) in
> what cultures this is so.

I am doing algebraic geometry and homological algebra. We have lots
of different types of "products": Cartesian products, tensor
products, fibred products, alternating products, cup products and
Massey products, just to name a few. The cross product of vectors in
R^3 is hardly ever of any interest in these fields of mathematics.
Our most common names for the Cartesian product are "direct sum" and
"direct product" (the terms mean the same for finite collections of
sets). The term "cross product" is also used, but less frequently.
Still, in my everyday work, "cross product" almost always means
"Cartesian product". The only times I use cross products of vectors
in R^3 is when I teach undergraduate linear algebra.

> I've never heard the cartesian product
> called a cross product, but I'm a physicist and I don't think
> cartesian products are generally very interesting there (well, they
> are for things like definitions of spaces, like R^n) . To make life
> more confusing the outer product of vectors is also sometimes called
> the cross product, and is different...

I have never seen or heard the term "cross product" used for outer
products. It's no mystery that mathematicians and physicists often
find it difficult to communicate ...

--
Tord Romstad

Christophe Rhodes

unread,
Oct 23, 2000, 3:00:00 AM10/23/00
to
Tord Kallqvist Romstad <rom...@janus.uio.no> writes:

> Tim Bradshaw <t...@tfeb.org> writes:
>
> > I've never heard the cartesian product
> > called a cross product, but I'm a physicist and I don't think
> > cartesian products are generally very interesting there (well, they
> > are for things like definitions of spaces, like R^n) . To make life
> > more confusing the outer product of vectors is also sometimes called
> > the cross product, and is different...
>
> I have never seen or heard the term "cross product" used for outer
> products. It's no mystery that mathematicians and physicists often
> find it difficult to communicate ...

Goodness, tell me about it. Having just finished undergraduate
physics, and started a PhD in an applied maths department, I feel a
certain amount of culture shock.

The physicists' use of "cross" product for the three-dimensional
vector product thingy simply arises because physicists tend to use a
cross rather than a wedge for this product, and use the term to
distinguish it from the dot ("inner") product. I think that the cross
product would have to be specifically for three-dimensional outer
products of vectors, simply because that particular case is so useful
in physics. In fact, since some of the people around here are so keen
on Clifford algebras for everything, they specifically warn against
the use of the wedge for the 3d vector product on grounds that it
looks too much like a "real" outer product...

Christophe
--
Jesus College, Cambridge, CB5 8BL +44 1223 524 842
(FORMAT T "(~@{~w ~}~3:*'~@{~w~^ ~})" 'FORMAT T "(~@{~w ~}~3:*'~@{~w~^ ~})")

Tim Bradshaw

unread,
Oct 23, 2000, 3:00:00 AM10/23/00
to
Tord Kallqvist Romstad <rom...@janus.uio.no> writes:

> The only times I use cross products of vectors
> in R^3 is when I teach undergraduate linear algebra.

It's kind of funny that cross product has persisted as a term so long
in physics, since it's really such a fragile thing -- the way it's
usually defined depends not only on being in R^3, but that the
coordinate system is cartesian. I guess things are helped buy the
fact that R^3 is quite an important space to physics, and also that
physics teaching tends not to generalise things `all the way' when it
can avoid it (so most physicists don't learn differential geometry).

Anyway..

--tim

William Deakin

unread,
Oct 23, 2000, 3:00:00 AM10/23/00
to
Tim wrote:
> It's kind of funny that cross product has persisted as a term so long
> in physics,
This is quite a UK/American kind of thing. I remember hanging out with a
few French Physicist who thought thought that cross-product was hideous
(AKA `hi-deus') and were alot happier with a R^3 group representation of
Maxwell's equations (say).

> also that physics teaching tends not to generalise things `all the way' when it
> can avoid it (so most physicists don't learn differential geometry).

Which IMHO is quite sensible since differential geometry IIRC isn't that
big except for stuff like GR[1].

:)will

[1] Thinking a little more: you can boggle yourself with Electrodynamics
using differential geometry, so hush my mouth.

Tim Bradshaw

unread,
Oct 23, 2000, 3:00:00 AM10/23/00
to
William Deakin <w.de...@pindar.com> writes:


> [1] Thinking a little more: you can boggle yourself with Electrodynamics
> using differential geometry, so hush my mouth.

If you mean classical electrodynamics then I think that doing it
without diff.geom is insane (though often done). I remember doing it
and just getting really annoyed because there was all this weird stuff
you had to do to work in anything other than totally boring
coordinates (or perhaps I got annoyed because it was clear that people
were doing things that would give the wrong answers in non-boring
coordinates). Sure it's `easier' but this is in the same way that
Windows is easier than Unix: it's faster to learn, but eventually you
just get so frustrated you have to take an angle-grinder to the
computer, and it really takes ages to get all the little bits of
computer out of the carpet.

QED on the other hand is fully boggle-enabled with or without
diff.geom.

--tim

William Deakin

unread,
Oct 24, 2000, 3:00:00 AM10/24/00
to
Tim wrote:
> If you mean classical electrodynamics then I think that doing it
> without diff.geom is insane (though often done).
Futile and frustrating perhaps, insane I'm not so sure?! You can work
out Thompson's correction to 473 significant figures with a bit of hand
waving and the correctly applied Lorentz-Fitzgerald contraction

> Sure it's `easier' but this is in the same way that Windows is
> easier than Unix: it's faster to learn,

...true...


> but eventually you just get so frustrated you have to take an
> angle-grinder to the computer, and it really takes ages to get
> all the little bits of computer out of the carpet.

Even more true, although I prefer a hammer -- depending either a large
woodworking mallet or a 2LB lump-hammer -- as you don't have to plug it
in. [1]

> QED on the other hand is fully boggle-enabled with or without
> diff.geom.

Time to get my boggle googles,

;)will

[1] For a fine selection, buy on line:
www.engineeringsupplies.com/acatalog/Online_Catalogue_Hammers___Mallets_234.html

Christian Lynbech

unread,
Oct 25, 2000, 3:00:00 AM10/25/00
to
>>>>> "Tim" == Tim Bradshaw <t...@cley.com> writes:

Tim> * Claire Quilty wrote:
>> I am NOT wrong. I am right, and YOU are wrong.

Tim> I wish to put this article forward for consideration as c.l.l posting
Tim> of the year.

I second that.

Would this not be something for the Association of Lisp Users? They
could ask for nominations in January, have a committe choose the most
deserving entry, and then they could post the result on the website.


---------------------------+--------------------------------------------------
Christian Lynbech | Ericsson Telebit, Fabrikvej 11, DK-8260 Viby J
Fax: +45 8675 6881 | email: c...@ericssontelebit.com
Phone: +45 8675 6828 | web: www.ericssontelebit.com
---------------------------+--------------------------------------------------
Hit the philistines three times over the head with the Elisp reference manual.
- pet...@hal.com (Michael A. Petonic)

ThaneOfFife

unread,
Oct 25, 2000, 3:00:00 AM10/25/00
to
In article <ofwvexi...@chl.ted.dk.eu.ericsson.se>,

Christian Lynbech <c...@ericssontelebit.com> wrote:
> >>>>> "Tim" == Tim Bradshaw <t...@cley.com> writes:
>
> Tim> * Claire Quilty wrote:
> >> I am NOT wrong. I am right, and YOU are wrong.
>
> Tim> I wish to put this article forward for consideration as c.l.l
posting
> Tim> of the year.
>
> I second that.
>
> Would this not be something for the Association of Lisp Users? They
> could ask for nominations in January, have a committe choose the most
> deserving entry, and then they could post the result on the website.
>


Be sure to include the actual quote in dispute so that anyone with any
knowledge of the matter can see that I am right. :-)

BTW, my Programming Languages class had to turn in that LISP lab today,
but at the end of class the prof walked out with the completed lab
assignment of only of the more thatn 20 students. Everyone else was
scrambling to grok enough LISP to complete the assignment. Guess which
student was able to complete the assignment. That's right, me, Claire
Quilty....

ThaneOfFife

unread,
Oct 25, 2000, 9:48:37 PM10/25/00
to
In article <8ssjpi$9a1$1...@snoopy.online.no>,

Arne Knut Roev <akr...@online.no> wrote:
> vsync <vs...@quadium.net> wrote:
> > Claire Quilty <cr...@my-deja.com> writes:
> >
> >> As far as the practical worth of LISP to me as a person, the search
> >> engine at www.dice.com pretty much tells the whole story:
> >>
> >> C++: 48,000 ads
> >> Java: 38,000 ads
> >> LISP: 62 ads
> >
> > Look! Prima facie evidence of Lisp's superiority!
>
> ;-))
>
> (with-a-contented-sigh
> "Finally someone who "
> (underline "knows")
> " logic!")
>

So by your logic, LISP is superior because (for whatever reason) there
are fewer ads for it than C++ or Java? So therefore, by your logic, if
LISP had even FEWER ads, it would be even MORE superior. How about some
toy language that I may invent -- call it Quilty++ -- which of course
has zero responses in the job search engines. I suppose, by your logic
this means Quilty++ is very much superior not only to Java and C++, but
also to LISP (never mind that all programs in Quilty++ must consist of
one and only one statement: x = y ).
That shure is some fancy logic ya got there, fella...

Ever faithfully,
Your boon and bosom companion,
Claire Quilty

Bruce Hoult

unread,
Oct 25, 2000, 10:22:57 PM10/25/00
to
In article <8t7nam$5mg$1...@nnrp1.deja.com>, ThaneOfFife
<cr...@my-deja.com> wrote:

> BTW, my Programming Languages class had to turn in that LISP lab today,
> but at the end of class the prof walked out with the completed lab
> assignment of only of the more thatn 20 students. Everyone else was
> scrambling to grok enough LISP to complete the assignment. Guess which
> student was able to complete the assignment. That's right, me, Claire
> Quilty....

How about showing your code here?

-- Bruce

Erik Naggum

unread,
Oct 25, 2000, 11:52:21 PM10/25/00
to
* ThaneOfFife <cr...@my-deja.com>

| BTW, my Programming Languages class had to turn in that LISP lab
| today, but at the end of class the prof walked out with the
| completed lab assignment of only of the more thatn 20 students.
| Everyone else was scrambling to grok enough LISP to complete the
| assignment. Guess which student was able to complete the
| assignment. That's right, me, Claire Quilty....p

Does it really make you feel any better to have to post such obvious
self-flattery that nobody can verify? You are truly pathetic the
way you have to post something so transparently intended to recover
some of your lost credibility in your _own_ mind.

#:Erik
--
I agree with everything you say, but I would
attack to death your right to say it.
-- Tom Stoppard

Erik Naggum

unread,
Oct 25, 2000, 11:47:00 PM10/25/00
to
* ThaneOfFife <cr...@my-deja.com>

| That shure is some fancy logic ya got there, fella...

It looks like you produced the insanity you insist on stuffing into
somebody else's mouth. Try and grow up so you can accept full
responsibility for your own lack of ability to think clearly.

Here's a clue for you: We're not talking about languages you invent.
Here's another clue for you: Bad craftsmanship begets higher demand
for (bad) craftsmen. And yet another clue: If it is so hard to
become good at a language that nobody really does, the people who
get hired and fired shortly thereafter will be alarmingly higher
than for a language that it is possible to learn really well,
because the people who do are not in as high circulation.

Go back to hacking some Perl and C++, now, "fella". Those languages
are more suitable to people of your intellectual prowess than you
will understand, or admit if you do.

William Deakin

unread,
Oct 26, 2000, 7:29:03 AM10/26/00
to
Bruce Hoult wrote:
> How about showing your code here?

How about *not* showing your code here...

Will

vsync

unread,
Oct 26, 2000, 3:32:38 PM10/26/00
to
ThaneOfFife <cr...@my-deja.com> writes:

> So by your logic, LISP is superior because (for whatever reason) there
> are fewer ads for it than C++ or Java? So therefore, by your logic, if
> LISP had even FEWER ads, it would be even MORE superior. How about some

I was being sarcastic, mainly. Thing is, I tend to distrust
commercial sponsorship, especially when it leads to hyperactive
marketing. Take Java, for example. It has taken hold in a market it
was unintended for (and I think mostly unsuited for) first due to
"industry analysts" who declared it "dead on the client", the area it
_was_ suited for, and then by marketing people who made a big deal
about Java on the server, an area for which it is decidedly not
optimal.

--
vsync
http://quadium.net/ - last updated Sat Oct 7 18:53:10 PDT 2000
(cons (cons (car (cons 'c 'r)) (cdr (cons 'a 'o))) ; Orjner
(cons (cons (car (cons 'n 'c)) (cdr (cons nil 's))) nil))

vsync

unread,
Oct 26, 2000, 3:34:00 PM10/26/00
to
ThaneOfFife <cr...@my-deja.com> writes:

> BTW, my Programming Languages class had to turn in that LISP lab today,
> but at the end of class the prof walked out with the completed lab
> assignment of only of the more thatn 20 students. Everyone else was
> scrambling to grok enough LISP to complete the assignment. Guess which
> student was able to complete the assignment. That's right, me, Claire
> Quilty....

So has your opinion of Lisp changed at all? Or are you planning to
give it more of a chance? It's my experience that the thrill of
initial success in a challenging subject is incredibly addictive...

Arne Knut Roev

unread,
Oct 26, 2000, 1:59:37 PM10/26/00
to
ThaneOfFife <cr...@my-deja.com> wrote:
> In article <8ssjpi$9a1$1...@snoopy.online.no>,
> Arne Knut Roev <akr...@online.no> wrote:
>> vsync <vs...@quadium.net> wrote:
>> > Claire Quilty <cr...@my-deja.com> writes:
>> >> C++: 48,000 ads
>> >> Java: 38,000 ads
>> >> LISP: 62 ads
>> >
>> > Look! Prima facie evidence of Lisp's superiority!
>>
>> ;-))
>>
>> (with-a-contented-sigh
>> "Finally someone who "
>> (underline "knows")
>> " logic!")
>>
>
> So by your logic, LISP is superior because (for whatever reason) there
> are fewer ads for it than C++ or Java?

No.

And since I am in a good mood tonight, I'll use this opportunity to
exercise my teaspoon-mode:

When you see such statistics, there are _several_ possible explanations
for their pattern:

1. It could be that programmers of LISP are so efficient that the
market only needs a very small number of them.

2. It could be that programmers of other languages are so retarded
as to create a mass demand for new programmers to sort out their
messes and salvage whatever useful things there might be left in
their projects after the crap has been filtered out.

3. It could be that most companies that are searching for LISP
programmers, have discovered that advertising for them doesn't work.

4. It could be that LISP programmers have the ability to find good
employers that are then able to keep them on for a _long_ time.

5. It could be that the management of most companies out there are
unaware of what the good tools are, and unwilling to listen to
advice on this from people who know what they are talking about.

6. It could be a combination of the above factors, and I won't rule
out that there could be additional factors deciding this.

So, my remark was simply a tongue-in-cheek remark that there could be
several explanations for that kind of slant in ad numbers, and that
consequently, the numbers themselves could not be taken to either prove
or disprove (or even indicate) any theory on their meaning.

Jeff Roberts

unread,
Oct 26, 2000, 9:00:16 PM10/26/00
to

Espen Vestre

unread,
Oct 27, 2000, 7:37:59 AM10/27/00
to
vsync <vs...@quadium.net> writes:

> about Java on the server, an area for which it is decidedly not optimal.

but it sure sells a lot of Sun hardware ;-)
--
(espen)

Marco Antoniotti

unread,
Nov 1, 2000, 9:34:17 AM11/1/00
to

Friedrich Dominicus <fr...@q-software-solutions.com> writes:

> Gareth.M...@pobox.com (Gareth McCaughan) writes:
>
> >
> > Oh, and if we're playing the intuitive-appeal-to-novices
> > game, consider
> >
> > (loop for n from 1 upto 10 sum n) ==> 55
>
> Haskell:
> sum [1 .. 10]
>
> ;-)
> >
> > and try to find another language in which that could be
> > expressed as neatly. :-)
>
> Now I guess I found it ;-)

Gimme a break! :)

(defun sum (&optional (lower 0) (upper lower))
(loop for n from lower upto upper sum n))
* (sum)
0
* (sum 0 1)
1
* (sum 1 0)
0
* (sum 1 4)
10
*


Cheers


--
Marco Antoniotti =============================================================
NYU Bioinformatics Group tel. +1 - 212 - 998 3488
719 Broadway 12th Floor fax +1 - 212 - 995 4122
New York, NY 10003, USA http://galt.mrl.nyu.edu/valis
Like DNA, such a language [Lisp] does not go out of style.
Paul Graham, ANSI Common Lisp

Marco Antoniotti

unread,
Nov 1, 2000, 9:36:07 AM11/1/00
to

Ian Wild <i...@cfmu.eurocontrol.be> writes:

> Tim Olson wrote:
> >
> > In article <39EE472C...@fisec.com>, Robert Monfera
> > <mon...@fisec.com> wrote:


> >
> > | Gareth McCaughan wrote:
> > |
> > | > Oh, and if we're playing the intuitive-appeal-to-novices
> > | > game, consider
> > | >
> > | > (loop for n from 1 upto 10 sum n) ==> 55
> > | >

> > | > and try to find another language in which that could be
> > | > expressed as neatly. :-)
> >

> > In Smalltalk, this would be:
> >
> > (1 to: 10) sum
>
> Still, APL's
>
> +/i10
>
> remains the most intuitive. Or would, if this
> keyboard had a lower case iota.

(reduce #'+ (iota 10))

Gareth McCaughan

unread,
Nov 1, 2000, 4:40:49 PM11/1/00
to
Marco Antoniotti wrote:

[Friedrich Dominicus:]

> > Haskell:
> > sum [1 .. 10]
> >

..


> Gimme a break! :)
>
> (defun sum (&optional (lower 0) (upper lower))
> (loop for n from lower upto upper sum n))

Not entirely fair, I think. More like

(defun sum (list) (reduce #'+ list))
(defun range (lower upper)
(loop for n from lower upto upper collect n))

except that Haskell is lazy so it's really more like
using SERIES.

(The point is that the snippet of Haskell above is
displaying two useful and concisely-expressed abstractions,
not a single, rather useless, sum-of-arithmetic-progression
function.)

--
Gareth McCaughan Gareth.M...@pobox.com
sig under construc

Robert Monfera

unread,
Nov 1, 2000, 9:22:07 PM11/1/00
to
Marco Antoniotti wrote:

> Gimme a break! :)
>
> (defun sum (&optional (lower 0) (upper lower))
> (loop for n from lower upto upper sum n))

Do you guys really need a loop for summing a series of integers?!?

I can tell you without switching to my lisp listener that
sum[1..100] = (1 + 100) + (2 + 99) + ... + ( 50 + 51) =
= (1 + 100) * 50
= 5050

Homework #1: name the matemathician who was asked by a teacher to sum
all integers between 1 and 100 in the hope that he is going to sit
tight for a good while (no HP calculators that time).

Homework #2: generalize the above algorithm and write a CL function that
sums [n .. m] in O(1) time.

And nobody dare to help Marco!

Robert

Robert Monfera

unread,
Nov 1, 2000, 9:28:09 PM11/1/00
to
Gareth McCaughan wrote:

> > > Haskell:
> > > sum [1 .. 10]

> (defun sum (list) (reduce #'+ list))


> (defun range (lower upper)
> (loop for n from lower upto upper collect n))
>
> except that Haskell is lazy so it's really more like
> using SERIES.
>
> (The point is that the snippet of Haskell above is
> displaying two useful and concisely-expressed abstractions,
> not a single, rather useless, sum-of-arithmetic-progression
> function.)

Series will translate the two functions into one loop (two loops and
lots of consing if you use generic functions or use optional
arguments). Would not haskell be smarter? Is there a pure, lazy
functional language environment which has a decent disassemble?

Robert

Friedrich Dominicus

unread,
Nov 2, 2000, 1:59:18 AM11/2/00
to
Robert Monfera <mon...@fisec.com> writes:

>
> Do you guys really need a loop for summing a series of integers?!?

Yes, yes, yes. Because the third most important programm (you know the
two other, don't you, the factorial is as important. With my limited
mental capacity I can write

sum [1 .. 10] -> whatever ;-)
AND
product [1..10] -> factorial ;-)

So I just have to remember switching from sum to product. That suits
me ;-)))

Regards
Friedrich
--
for e-mail reply remove all after .com

Marco Antoniotti

unread,
Nov 2, 2000, 9:33:10 AM11/2/00
to

Robert Monfera <mon...@fisec.com> writes:

You know I HATE these problems. My mind is already spinning. <:{

Jon S Anthony

unread,
Nov 2, 2000, 7:08:49 PM11/2/00
to
Robert Monfera wrote:
>
> Marco Antoniotti wrote:
>
> > Gimme a break! :)
> >
> > (defun sum (&optional (lower 0) (upper lower))
> > (loop for n from lower upto upper sum n))
>
> Do you guys really need a loop for summing a series of integers?!?
>
> I can tell you without switching to my lisp listener that
> sum[1..100] = (1 + 100) + (2 + 99) + ... + ( 50 + 51) =
> = (1 + 100) * 50
> = 5050
>
> Homework #1: name the matemathician who was asked by a teacher to sum
> all integers between 1 and 100 in the hope that he is going to sit
> tight for a good while (no HP calculators that time).

Gauss


> Homework #2: generalize the above algorithm and write a CL function that
> sums [n .. m] in O(1) time.

= m(m+1)/2 - n(n-1)/2


/Jon

--
Jon Anthony
Synquiry Technologies, Ltd. Belmont, MA 02478, 617.484.3383
"Nightmares - Ha! The way my life's been going lately,
Who'd notice?" -- Londo Mollari

David A Vincent

unread,
Nov 2, 2000, 7:22:46 PM11/2/00
to
Robert Monfera <mon...@fisec.com> writes:

> Marco Antoniotti wrote:

[...]

> Do you guys really need a loop for summing a series of integers?!?

[...]

> Homework #1: name the matemathician who was asked by a teacher to sum
> all integers between 1 and 100 in the hope that he is going to sit
> tight for a good while (no HP calculators that time).

[...]

Perhaps you mean the mathematician Gauss (as a child), of whom this
story is sometimes told.

Sadly there seems to be little historical basis for the story.

D

--
David A Vincent <mailto:dav...@hsa.com.au>
Analyst/Programmer HSA net <http://1.0.0.246/>
Hydrographic Sciences Australia HSA Sydney phone extension #28
Strunk and White: "Omit needless words"

Gareth McCaughan

unread,
Nov 2, 2000, 8:20:21 PM11/2/00
to
Robert Monfera wrote:

> Do you guys really need a loop for summing a series of integers?!?

I assure you that I don't, which is why I called it
"rather useless" and said there was more to the Haskell
example than a function for the specific task of summing
sequences of consecutive integers.

> Homework #1: name the matemathician who was asked by a teacher to sum
> all integers between 1 and 100 in the hope that he is going to sit
> tight for a good while (no HP calculators that time).

For extra credit, name the teacher. (No, the teacher wasn't
anyone famous.)

> Homework #2: generalize the above algorithm and write a CL function that
> sums [n .. m] in O(1) time.

O(log n log log n) or something of the sort, surely? :-)

Rainer Joswig

unread,
Nov 2, 2000, 8:26:57 PM11/2/00
to
In article <3A020...@synquiry.com>, Jon S Anthony <j...@synquiry.com>
wrote:

> Robert Monfera wrote:
> >
> > Marco Antoniotti wrote:
> >
> > > Gimme a break! :)
> > >
> > > (defun sum (&optional (lower 0) (upper lower))
> > > (loop for n from lower upto upper sum n))
> >
> > Do you guys really need a loop for summing a series of integers?!?
> >
> > I can tell you without switching to my lisp listener that
> > sum[1..100] = (1 + 100) + (2 + 99) + ... + ( 50 + 51) =
> > = (1 + 100) * 50
> > = 5050
> >
> > Homework #1: name the matemathician who was asked by a teacher to sum
> > all integers between 1 and 100 in the hope that he is going to sit
> > tight for a good while (no HP calculators that time).
>
> Gauss
>
>
> > Homework #2: generalize the above algorithm and write a CL function that
> > sums [n .. m] in O(1) time.
>
> = m(m+1)/2 - n(n-1)/2

Well this brings us to another nice feature of
Common Lisp: Compiler Macros.

; Well, let's optimize atleast a bit for speed and less debugging
(proclaim '(optimize (speed 2) (safety 1) (debug 1)))

; our iota
(defun iota (n)
(loop for i upto n collect i))

; our naive sum


(defun sum (list)
(reduce #'+ list))

; let's try it. conses the intermediate list
(sum (iota 100))

; let's define the shortcut from Mr. Gauss
(defun sum-iota (n)
(/ (* n (1+ n)) 2))

; see it work. No list involved.
(sum-iota 100)

; Now a compiler macro. If we see a form (sum (iota something)) we replace it
; by (sum-iota something).
(define-compiler-macro sum (&whole form arg)
(cond ((and (listp arg)
(eq (first arg) 'iota))
`(sum-iota ,(second arg)))
(t form)))

; trace sum-iota
(trace sum-iota)

; a test, should do the usual reduce
(defun test0 ()
(sum '(1 2 3)))
(test0)

; another test. should be optimized. no intermediate list.
(defun test ()
(sum (iota 100)))
(test)

; we change the implementation.
; let's define an assoc-list of ( test-function transformer-function)
; this let's us add new optimizers at any time, by adding to this assoc-list.
(defparameter *sum-transformers*
`((,(lambda (form)
(and (listp form)
(eq (first form) 'iota)))
,(lambda (form)
`(sum-iota ,(second form))))
(,(lambda (form)
(and (listp form)
(eq (first form) 'quote)))
,(lambda (form)
(sum (first (rest form)))))))

; Okay, the simplified compiler macro
(define-compiler-macro sum (&whole form arg)
(let ((transformer (second (assoc arg *sum-transformers*
:test (lambda (form test-fn)
(funcall test-fn form))))))
(if transformer
(funcall transformer arg)
form)))

; trace everything
(trace iota reduce sum)

; a few tests. See when the functions are being called,
; by the compiler or at runtime

(defun test0 ()
(sum '(1 2 3)))
(defun test1 ()
(sum (iota 100)))
(defun test2 (list)
(sum list))

(test0)
(test1)
(test2 '(1 2 3 4))

Pretty cool...

--
Rainer Joswig, Hamburg, Germany
Email: mailto:jos...@corporate-world.lisp.de
Web: http://corporate-world.lisp.de/

Jon S Anthony

unread,
Nov 3, 2000, 3:00:00 AM11/3/00
to
Mario Frasca wrote:

>
> On Thu, 02 Nov 2000 19:08:49 -0500, Jon S Anthony <j...@synquiry.com> wrote:
> >Robert Monfera wrote:
> >> Homework #2: generalize the above algorithm and write a CL function that
> >> sums [n .. m] in O(1) time.
> >
> >= m(m+1)/2 - n(n-1)/2
>
> you're not generalizing, you're just using the above algorithm.
> a generalisation would be:
>
> = (m-n+1)(m+n)/2

I'd call this a reduction, not a generalization.


> which has the same form as 'm(m+1)/2'

Change this to k(k+1)/2 so we don't mix up our m's and n's :-).
Given this, I am unsure why you think your reduced version is
of the same form. k can't be m or n here, nor does it work for
either of (m-n) or (m+n). What am I missing?

It is loading more messages.
0 new messages