Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
On nil qua false [was: Re: On conditionals]
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  Messages 101 - 125 of 283 - Collapse all  -  Translate all to Translated (View all originals) < Older  Newer >
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Erik Naggum  
View profile  
 More options Nov 27 2001, 10:34 am
Newsgroups: comp.lang.lisp
From: Erik Naggum <e...@naggum.net>
Date: Tue, 27 Nov 2001 15:34:23 GMT
Local: Tues, Nov 27 2001 10:34 am
Subject: Re: On nil qua false [was: Re: On conditionals]
* Kenny Tilton
| No, implicit in my suggestion was the energy I saw being misdirected at
| defending CL, I gathered in the hope someday of greater use.

  Please let each person determine what is the "greater use" of their own
  energy, as long as it is not harmful.

| Given that goal apparently sought by others, I recommended more
| aggressive action crucially outside c.l.l.

  How do you know about happens outside c.l.l?  How would you discover that
  whatever it is you would recommend is actually done?

| I am on the fence. I would love to see CL take over the world, but I am
| not going to worry about it, I am just trying to do good work with CL.

  I would not like CL take over the world, because that which takes over
  the world, is taken over by the world.  Considering what the world does
  to other things it has taken over, it would be terrible, terrible fate.

| This is why Arc may be a wrong turn.

  I have briefly looked at Arc.  It is yet another demonstration of the
  problem of too strong an ego that cannot live with what somebody else has
  made.  Be it the standard conditionals, nil versus false versus the empty
  list, or whatever else this purportedly strong ego is too weak to accept,
  it is nothing more than proof of the core problem of the IT world -- the
  hardness of its pillars makes them brittle, not strong, so they cannot be
  used to build upon.  What was it that stood so much in the way that Paul
  Graham could not have accomplished it without creating a new language?
  Why was creating a new language and starting from scratch better than
  building on what had come before?  Why is the IT world defined by people
  who are unable to deal with the concepts of continuity, longevity, and
  design for long-term stability?  Why do they believe they are so much
  smarter than everything that has gone before them, when they clearly are
  not and repeat mistakes that take years to undo, if not replaced by
  another stupid "revolution" that itself starts from scratch?

  If people built societies the way computer people build communities, we
  would still live have small warring tribes and no concept of a law that
  binds all people and absolutely no concept of a constitution that binds
  lawmakers.  For all the talk about the Internet changing the world, we
  lag the real world by about 40,000 years when it comes to how we make
  lots of people who do _not_ agree to everything live and work together.

  Suddenly, I feel old and tired.

///
--
  The past is not more important than the future, despite what your culture
  has taught you.  Your future observations, conclusions, and beliefs are
  more important to you than those in your past ever will be.  The world is
  changing so fast the balance between the past and the future has shifted.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Erik Naggum  
View profile  
 More options Nov 27 2001, 10:56 am
Newsgroups: comp.lang.lisp
From: Erik Naggum <e...@naggum.net>
Date: Tue, 27 Nov 2001 15:56:10 GMT
Local: Tues, Nov 27 2001 10:56 am
Subject: Re: On nil qua false [was: Re: On conditionals]
* Erik Naggum

> Get over your personal hangup and just accept the language for what it
> is.  _Nothing_ will _ever_ happen to the language just because you keep
> having these problems.  Nobody is interested in your lack of will to
> accept the language while you are learning it.

* Andreas Bogk
| Can anybody explain to me why some people regard the Common Lisp standard
| as gospel?

  Well, why do you regard it as gospel?  Why do _you_ think in such terms?
  Explain this, and you will be much closer to the wisdom you seek.

| What happened to the spirit of continuous improvement that has led Lisp
| through the decades?

  The keyword here is "continuous".  At some point, some people decided
  that the only way to achieve improvement would be through discontinuity
  and revolution, through many meaningless changes they could achieve some
  small meaningful one.  These people have only succeeded in one thing: To
  instill this meme in so many people that they do not even _try_ to make
  continuous improvements, anymore.  Whey they fail again and again to
  achieve improvement with their revolutions, they argue that stronger and
  more powerful revolutions are necessary, when in fact it was the idea
  that revolutions are necessary that caused them to fail.  Smaller egoes
  and more purpose would have made them succeed, because what they need to
  succeed with is not to build a whole new world from scratch, but to make
  those who already live in one to accept their improvements.  If they do
  not, accept that, too, and try again.  Accepting defeat is perhaps the
  only true evidence of personal strength.  Refusing to accept defeat and
  believing that if you only try the exact same thing again over and over
  you will some day get a different result, is simply the insanity of weak
  minds that refuse to let go of their one chance at success and greatness.

  Every bit of progress has cost thouands of setbacks, but each did in fact
  not set the whole industry back because one did _not_ start from scratch
  with every "invention".  Because of the continuity, one built upon what
  already existed and found an acceptable way to achieve one's goal until
  the underlying changes were being made by those who were motivated by the
  success of the visible changes.

///
--
  The past is not more important than the future, despite what your culture
  has taught you.  Your future observations, conclusions, and beliefs are
  more important to you than those in your past ever will be.  The world is
  changing so fast the balance between the past and the future has shifted.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Erik Naggum  
View profile  
 More options Nov 27 2001, 11:10 am
Newsgroups: comp.lang.lisp
From: Erik Naggum <e...@naggum.net>
Date: Tue, 27 Nov 2001 16:10:44 GMT
Local: Tues, Nov 27 2001 11:10 am
Subject: Re: On nil qua false [was: Re: On conditionals]
* Andreas Bogk
| But I'm seeing a lot of "Common Lisp does it that way and you need to
| swallow it", and a lot of people who seem to have forgotten that
| Common Lisp is man-made (and even designed by a committee and full of
| bad compromises and legacy crap).

  So are the laws of any given country.  You do not break them because you
  object to them, you enter politics and obey the laws while you change
  them.  If you are the fucking clueless moron who breaks laws you do not
  like, you are nothing but a retarded criminal.  Why the criminal mind is
  so important to hold up as a role model for social change is beyond me.

| We folks from the Dylan community see ourselves as part of the Lisp
| community.

  You seem to be quite alone in this regard, especially considering your
  hang to insult other Lisp communites and waltz in with stupid concerns
  that simply are _not_ concerns except to outsiders.  As convicted felons
  protest their innocence, but would not improve unless they accepted that
  they are guilty and the fate of the guilty, any random outsider who does
  not accept that complaining about non-issues is stupid or the negative
  consequences of such actions, will never be part of that community.

| We're interested in an honest discussion on what the Right Thing is (and
| yes, Dylan has it's shortcomings too).

  A good start would be to accept the choices people have made.  Coming
  into a new community and accusing people of regarding their standards as
  "gospel" because you want to be a criminal in that community is not a
  good start.  Strive not to be an outsider.  Do _not_ see yourself as an
  outsider.  (There are no "insiders", but people who choose to regard
  themselves as if they are always doomed to stand outside and look in,
  have no hope of ever gaining any useful information about what they keep
  looking at and not understanding.  Part of relinquishing the "outsider"
  status is to accept that other people have accepted certain things, and
  that they are _not_wrong_ in doing so even if you think it is not right.
  In time, you will see the wisdom that there are more than one right, that
  the idea that there is "one right" is wrong, but that this does not mean
  that one cannot determine that something will always be wrong no matter
  what is right.)

///
--
  The past is not more important than the future, despite what your culture
  has taught you.  Your future observations, conclusions, and beliefs are
  more important to you than those in your past ever will be.  The world is
  changing so fast the balance between the past and the future has shifted.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Wade Humeniuk  
View profile  
 More options Nov 27 2001, 11:34 am
Newsgroups: comp.lang.lisp
From: "Wade Humeniuk" <humen...@cadvision.com>
Date: Tue, 27 Nov 2001 09:34:32 -0700
Local: Tues, Nov 27 2001 11:34 am
Subject: Re: On nil qua false [was: Re: On conditionals]

I went to an OO conference in Santa Clara,1991.  At lunch time I sat down
with this older gentleman, maybe in his fifties.  The first thing he asked
me was, "We are a Cobol shop, have been for a long time, I am here to see if
we have to change.  Things seem to be working fine for us.  Do you think we
have to change?".  Now, not knowing Cobol, and thinking for literally 2
seconds I said "No."  He seemed immensely relieved and I am sure that he
went back and continued  in Cobol.

There is alot to be said for sticking with an approach and not giving into
the calls to change everything.  Computing seems to have really hard hit by
this reinvention syndrome, maybe because its largest group of developers are
young competitive men.  Trying to kill the older males off I suppose,
primevel instincts coupled with above average intelligence.  Driving them
off the "kill" (so to speak).  Maybe Microsoft is successful since Gate's
personality is strong enough to subdue the rabble at the gates (eheh, images
of Frankenstein come to mind).  Perhaps the young males energies should be
harnessed into much more difficult projects until they mellow out a bit.

Wade


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Kent M Pitman  
View profile  
 More options Nov 27 2001, 12:47 pm
Newsgroups: comp.lang.lisp
From: Kent M Pitman <pit...@world.std.com>
Date: Tue, 27 Nov 2001 17:46:21 GMT
Local: Tues, Nov 27 2001 12:46 pm
Subject: Re: On nil qua false [was: Re: On conditionals]

I'll put the same thought another way.  I'd say the keyword was
"improvement".

CL provides a base from which to move *forward*.  Re-analyzing the base is
not moving forward but *laterally*.

No one denies that there can be hill-climbing problems in any field,
requiring some backup before moving forward.  But the cost of backing out
of assumptions is generally higher than the cost of not doing so, so to
not be causing people gratuitous extra cost, one would want to justify the
need to back up.

Of course, not everyone ever moved forward to use all of what ANSI CL
has in the first place.  Such people don't feel the cost of backing up
in the same way as people who did.  That leads to people talking at
crossed purposes about what the "big deal" is.  To those who have an
investment in a certain way of doing things, it is a major big deal
and the cost is not just "belief" (those who are not invested probably
think it's all a matter of "saving face" or "people being stuck in
their thoughts" as if reading a new paper could change them out of it)
but "action" (this translates quickly to "dollars" in translation,
quality assurance, etc. and steals precious budget form "finishing
product", "marketing", "new features", etc.).

So to Andreas my question back would be...

"Can anybody explain to me why some people regard musical standards as
a good use of anyone's time?"  Even just discussing it seems unproductive.

I don't mean discussing technical flaws--that makes sense.  But discussing
the conceptual gestalt and trying to get community consensus that "the
standard should be deviated from" seems pointless.  People have the ability
to answer this question each individually for themselves; no group consensus
is required.  And one reason it's important to have a standard is that
standards are convergent.  Those of adhering have a community of common
knowledge to share.  Not adhering is divergent; non-adherents don't always
have something to share since they may diverge in different ways.  In that
sense, a discussion of Python or Dylan as a specific alternative is better
than a mere bitch session on why people don't like what they have.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jochen Schmidt  
View profile  
 More options Nov 27 2001, 1:50 pm
Newsgroups: comp.lang.lisp
From: Jochen Schmidt <j...@dataheaven.de>
Date: Tue, 27 Nov 2001 20:51:53 +0100
Local: Tues, Nov 27 2001 2:51 pm
Subject: Re: On nil qua false [was: Re: On conditionals]

  # Kenny Tilton <ktil...@nyc.rr.com> wrote to Bruce Hoult:
  | One of the things I sense about Lisp is that it has developed for a very
  | long time under the hands of folks who are insanely obsessed with doing
  | the Right Thing, and I think a large part of the determination of what
  | is the Right Thing comes from What Would A Reasonable Person Expect. And

# Andreas Bogk answered to Kenny Tilton:
| I hoped that it would be like this.
|
| But I'm seeing a lot of "Common Lisp does it that way and you need to
| swallow it", and a lot of people who seem to have forgotten that
| Common Lisp is man-made (and even designed by a committee and full of
| bad compromises and legacy crap).

No you don't have to swallow it. You can decide to use CL or not but
bitching around on things that _you_ as a non-CL user don't like is not
particularily fair.

The points critizized here in this thread (nil/false/'()...) seem to be no
"bug" or "design-error" to the _users_ of the language but instead of that
- a _feature_ . It is simply not enough to conclude that it is a
design-error in Common Lisp if it could be counted as a design-error in a
completely other language (like Dylan - if you count that as lisp or not).

Do you think it is a good idea for a basketball player to go to a football
club and criticizing them for using the feet to hit the ball because this
is a particular bad idea in contrast to the higher agility they would have
using their hands?

Another claim you mindlessly reuse here as a fact is that nonsense that a
language designed by a commitee is bad from it's beginnings. Compromises do
not _need_ to be bad - sometimes a compromise is (seen at a whole) _much_
better than any of the possible extremes. The good thing of design by a
(good) commitee (like in any good democraty) is that it is seldom that
_critical_ flaws end up in the result.

# Andreas Bogk continues to answer to Kenny Tilton:
| We folks from the Dylan community see ourselves as part of the Lisp
| community.  That's not only because most of the Dylan designers were
| also involved in the Common Lisp standardization process, but also
| because the heritage shows in a lot of places, ranging from the object
| system (modelled after CLOS), the optimzation theory (type
| annotations), first class functions, to the UI framework (CLIM
| vs. DUIM), the general compiler theory etc.  We're interested in an
| honest discussion on what the Right Thing is (and yes, Dylan has it's
| shortcomings too).

I personally see it as a bad point that Dylan omitted s-expressions since
they are an important part of the "magic" behind lisp. But I don't think
that Dylan is broken because of this fact - it simply changed it's audience
to people that do not see or do not want the benefits of s-expression
notation. The bad thing is that some Dylan users tend to claim to new users
interested in lisp that Dylan is unconditionally better for them because it
does not have "this many ugly parens". This claims imply that it is a
bug to have s-expressions and even worse - it omits that it is maybe a
_loss_ for Dylan not having them!!!

The bad thing when discussing about "The Right Thing" is that it simply
does not exist out of context. A particular language, a community and even
an implementation all define contexts that have to be taken into account
when searching for "the Right Thing". Even if the context is well defined
it happens from time to time that "the Right Thing" is ambiguous.

I'm too very interested in discussing language issues - but I think it is
not a _honest_ discussion if on participant claims that the others are
wrong because _oneself_ did it the other way!

Ask yourself what the real reasons are behind that particular wish of
discussion - is it _really_ for finding the "Right Thing"? (which would
imply to be _open_ for solutions that are different to your own!) Or is it
maybe more like pushing of the own way to others?
Is this _really_ about investigating if CL is good or what could be done
better in Dylan? To me it looks more like marketing and advertising Dylan
here in c.l.l - and not like "honest discussion".

ciao,
Jochen

--
http://www.dataheaven.de


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Lieven Marchand  
View profile  
 More options Nov 27 2001, 1:50 pm
Newsgroups: comp.lang.lisp
From: Lieven Marchand <m...@wyrd.be>
Date: 27 Nov 2001 17:36:33 +0100
Local: Tues, Nov 27 2001 11:36 am
Subject: Re: On nil qua false [was: Re: On conditionals]

Andreas Bogk <andr...@andreas.org> writes:
> But I'm seeing a lot of "Common Lisp does it that way and you need to
> swallow it", and a lot of people who seem to have forgotten that
> Common Lisp is man-made (and even designed by a committee and full of
> bad compromises and legacy crap).

I'm not sure where you see this, but perhaps I'm too close to it. One
argument that is less important to the Dylan community then to the CL
community is the cost of change. There is a larger amount of CL code
around, more CL books and tutorials and more CL implementations, so
any proposed change not only has to prove its use, but also its cost
effectiveness. For a lot of the minor things where people argue about,
changing them wouldn't be worth it even if you could convince
everyone.

Even perfect updates to the standard have a cost.  Consider the
changes between Ada 83 and Ada 95. There is a large consensus in the
Ada community that Ada 95 is a far better language then Ada 83. But
the real or perceived cost and difficulty of complying to the new
standard has made a number of commercial implementors decide to drop
their Ada offerings, which has caused problems where platforms no
longer had a commercially available Ada compiler.

--
Lieven Marchand <m...@wyrd.be>
She says, "Honey, you're a Bastard of great proportion."
He says, "Darling, I plead guilty to that sin."
Cowboy Junkies -- A few simple words


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Andreas Bogk  
View profile  
 More options Nov 27 2001, 2:07 pm
Newsgroups: comp.lang.lisp
From: Andreas Bogk <andr...@andreas.org>
Date: 27 Nov 2001 18:30:38 +0100
Local: Tues, Nov 27 2001 12:30 pm
Subject: Re: On nil qua false [was: Re: On conditionals]

"Wade Humeniuk" <humen...@cadvision.com> writes:
> > Yes, but Lisp can fix it.
> It is not broken.

People's opinion about this one varies, as well as about other
features.  The argument "It's not broken because CL says so" doesn't
count.  I'm interested in arguments that sound like "CL does the Right
Thing because..." or "CL does the Wrong Thing because...".

I'm sure you can think of CL features that bother you enough that you
would change them if given the chance, but not enough to keep you from
using CL.

> It is a feature not a mistake.

This sounds like a Microsoft argument.  There are such things as
misfeatures.

> If some people are not
> happy with CL then they can write a new Lisp in CL (as a new shadowed

Now this sounds like the typical argument of defenders of C: "I can
show you that my language is Turing-complete, so I can solve any
problem you can."

I can write my new Lisp in itself, as it is expected from any serious
language.

> package, or would people rather write it in C?).  Nothing is stopping them,
> create a language that has false.

Been there, done that, trying to share the experience.  Well,
actually, I just help maintaining the Gwydion Dylan system, and was
neither involved in the design of the language nor it's
implementation, people smarter than me from the Lisp community have.

Andreas

--
"In my eyes it is never a crime to steal knowledge. It is a good
theft. The pirate of knowledge is a good pirate."
                                                       (Michel Serres)


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Andreas Bogk  
View profile  
 More options Nov 27 2001, 2:07 pm
Newsgroups: comp.lang.lisp
From: Andreas Bogk <andr...@andreas.org>
Date: 27 Nov 2001 19:10:56 +0100
Local: Tues, Nov 27 2001 1:10 pm
Subject: Re: On nil qua false [was: Re: On conditionals]

Erik Naggum <e...@naggum.net> writes:
> | Can anybody explain to me why some people regard the Common Lisp standard
> | as gospel?
>   Well, why do you regard it as gospel?  Why do _you_ think in such terms?

I don't.  I suggested that you do, based on your "it is the way it is,
get over with it" argument.

Dylan was designed based on the experience with other Lisp
designs. When I see a difference between the way CL does something,
and the way Dylan does it, I ask myself if this is by design or by
accident, and whether the modification is the Right Thing or the Wrong
Thing.  It is interesting to get the opinions of seasoned CLers on
these features, even if I have a bias from my prior experience and
might not agee with them.  After all, everyone is biased.

>   Explain this, and you will be much closer to the wisdom you seek.

Ho-hum.  I guess I'll have to wait for your answer before
enlightenment sets in.

> | What happened to the spirit of continuous improvement that has led Lisp
> | through the decades?
>   The keyword here is "continuous".  At some point, some people decided
>   that the only way to achieve improvement would be through discontinuity
>   and revolution, through many meaningless changes they could achieve some
>   small meaningful one.  These people have only succeeded in one thing: To
>   instill this meme in so many people that they do not even _try_ to make
>   continuous improvements, anymore.  Whey they fail again and again to
>   achieve improvement with their revolutions, they argue that stronger and
>   more powerful revolutions are necessary, when in fact it was the idea
>   that revolutions are necessary that caused them to fail.  Smaller egoes

I'm from East Germany, and have been there when the Berlin Wall came
down.  Don't tell me revolutions don't happen, I have been part of
one.

But I think your general insight is correct, there ought to be a
balance of change.  Both lack of change and too much change are
dangerous to the stability of a system.

What I am perceiving (and this is as subjective as it gets) is a lack
of change.  

>   and more purpose would have made them succeed, because what they need to
>   succeed with is not to build a whole new world from scratch, but to make
>   those who already live in one to accept their improvements.  If they do

Again an interesting observation.  Let me know, what change would you
accept?

>   not, accept that, too, and try again.  Accepting defeat is perhaps the
>   only true evidence of personal strength.  Refusing to accept defeat and
>   believing that if you only try the exact same thing again over and over
>   you will some day get a different result, is simply the insanity of weak
>   minds that refuse to let go of their one chance at success and greatness.

It is only insanity if you don't learn from your failures, and don't
get a different result next time.  Maybe you won't succeed, because
the challenge is bigger than a lifetime, but that doesn't mean trying
is futile.  Unless, of course, you hide your results from the world.

I'd even go as far as saying that *only* failures lead to genuine
insight, whereas a success is just a validation of your current model
of the world, and not an improvement.

>   Every bit of progress has cost thouands of setbacks, but each did in fact
>   not set the whole industry back because one did _not_ start from scratch
>   with every "invention".  Because of the continuity, one built upon what
>   already existed and found an acceptable way to achieve one's goal until
>   the underlying changes were being made by those who were motivated by the
>   success of the visible changes.

I agree.  But I think we currently disagree on what part of the model
to keep, and what to change.

Andreas

--
"In my eyes it is never a crime to steal knowledge. It is a good
theft. The pirate of knowledge is a good pirate."
                                                       (Michel Serres)


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Andreas Bogk  
View profile  
 More options Nov 27 2001, 2:07 pm
Newsgroups: comp.lang.lisp
From: Andreas Bogk <andr...@andreas.org>
Date: 27 Nov 2001 20:04:10 +0100
Local: Tues, Nov 27 2001 2:04 pm
Subject: Re: On nil qua false [was: Re: On conditionals]

Erik Naggum <e...@naggum.net> writes:
> | Common Lisp is man-made (and even designed by a committee and full of
> | bad compromises and legacy crap).
>   So are the laws of any given country.  You do not break them because you
>   object to them, you enter politics and obey the laws while you change
>   them.  If you are the fucking clueless moron who breaks laws you do not
>   like, you are nothing but a retarded criminal.  Why the criminal mind is
>   so important to hold up as a role model for social change is beyond me.

Gandhi made the concept of "civil disobedience" popular, and showed
that it works.

I do tend to break laws I consider immoral or meaningless.  Maybe this
has to do with the fact that I was raised in a dictatorship.

And changing a law works differently in practice: you throw a lot of
money at lobbyists.  I'm actively involved in fighting against new
surveillance laws, DMCA-like copyright regulations, and related civil
liberty issues.  Believe me, I know the mechanisms, and I'm depressed
at how the so-called democracies are run on this planet.

One of my research areas is cryptography, and I've been involved in
the GSM authentication attack and the DeCSS decryption software.  Laws
are on it's way that will outlaw this kind of research, driven by
nothing more than a handfull of intellectual property lawyers from the
recording and movie industry with an unlimited budget.

But this is starting to get severely off-topic, so I stop ranting
here.  For the purposes of this discussion, the summary is: I don't
buy that metaphor, please use another one.

> | We folks from the Dylan community see ourselves as part of the Lisp
> | community.
>   You seem to be quite alone in this regard, especially considering your
>   hang to insult other Lisp communites and waltz in with stupid concerns
>   that simply are _not_ concerns except to outsiders.  As convicted felons

And what way do you suppose people shall learn something deep about
CL, except by discussing their concerns with those who know?  That
way, you keep outsiders to be outsiders.

>   protest their innocence, but would not improve unless they accepted that
>   they are guilty and the fate of the guilty, any random outsider who does
>   not accept that complaining about non-issues is stupid or the negative
>   consequences of such actions, will never be part of that community.

Then consider yourself something like a secret conspiracy.

> | We're interested in an honest discussion on what the Right Thing is (and
> | yes, Dylan has it's shortcomings too).
>   A good start would be to accept the choices people have made.  Coming

I do accept the choices, but I want to understand the reasoning behind
it.  This allows me to make a better decision for myself.

Just delivering the results without sharing the insights is keeping
out people.

>   into a new community and accusing people of regarding their standards as
>   "gospel" because you want to be a criminal in that community is not a
>   good start.  Strive not to be an outsider.  Do _not_ see yourself as an

I reject the notion of the Lisp community being identical to the
Common Lisp community, and I especially reject the notion of CL being
used as a guide to define who's a criminal in the Lisp community.

I feel I have a lot of common ground with many people here, basic
things like believing that automatic memory management, dynamic
typing, general function dispatch and interactive development are good
ideas.

>   looking at and not understanding.  Part of relinquishing the "outsider"
>   status is to accept that other people have accepted certain things, and
>   that they are _not_wrong_ in doing so even if you think it is not right.

If I find a feature that strikes me as odd, there could be different
things going on:

1) It's indeed a bit odd, but people get used to it soon, so it won't
   be a problem, but losing it wouldn't hurt either.

2) It's a powerful feature I hadn't discovered before that leads me to
   new ways to express my ideas, and it's incredibly valuable.

3) I am the first one to notice how to do much better.

Number 3 probably happens twice a lifetime, and is infinitely
valuable.  But already being able to tell the difference between 1 and
2 is important to gain real understanding.

>   In time, you will see the wisdom that there are more than one right, that
>   the idea that there is "one right" is wrong, but that this does not mean
>   that one cannot determine that something will always be wrong no matter
>   what is right.)

I fail to see how something can always be wrong, when something can't
always be right.  Successful dialog depends on understanding the
common set of prerequisites, and trying to share the workload for
reaching new insights based on these prerequisites.

Andreas

--
"In my eyes it is never a crime to steal knowledge. It is a good
theft. The pirate of knowledge is a good pirate."
                                                       (Michel Serres)


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Andreas Bogk  
View profile  
 More options Nov 27 2001, 2:54 pm
Newsgroups: comp.lang.lisp
From: Andreas Bogk <andr...@andreas.org>
Date: 27 Nov 2001 20:50:00 +0100
Subject: Re: On nil qua false [was: Re: On conditionals]
Kent M Pitman <pit...@world.std.com> writes:

> CL provides a base from which to move *forward*.  Re-analyzing the base is
> not moving forward but *laterally*.

I'd dispute that. Re-analyzing the the Axiom of Parallels in geometry
resulted in the development of non-Euclidean geometry, which was a
tremendous success.

> No one denies that there can be hill-climbing problems in any field,
> requiring some backup before moving forward.  But the cost of backing out
> of assumptions is generally higher than the cost of not doing so, so to
> not be causing people gratuitous extra cost, one would want to justify the
> need to back up.

An obvious process.  One must not forget to account the savings
reached against the costs, and the possibility of reducing the cost by
analyzing it's nature.

> crossed purposes about what the "big deal" is.  To those who have an
> investment in a certain way of doing things, it is a major big deal
> and the cost is not just "belief" (those who are not invested probably
> think it's all a matter of "saving face" or "people being stuck in
> their thoughts" as if reading a new paper could change them out of it)
> but "action" (this translates quickly to "dollars" in translation,
> quality assurance, etc. and steals precious budget form "finishing
> product", "marketing", "new features", etc.).

I think I want to understand what these issues are.

> "Can anybody explain to me why some people regard musical standards as
> a good use of anyone's time?"  Even just discussing it seems unproductive.

Musicians who only play by the standards might be technically
excellent, but boring.  Interesting music is the one violating the
standards in a way that doesn't sound unpleasant to the listener
regardless.  Bad music violates the standards and sounds bad.

> I don't mean discussing technical flaws--that makes sense.  But discussing
> the conceptual gestalt and trying to get community consensus that "the
> standard should be deviated from" seems pointless.  People have the ability

No. It's called progress. Even if such a discussion process doesn't
actually result in a change of consensus, it is still vital for
teaching the deeper ideas.

Not doing that leads to loss of adaptibility, which could become a
problem when prerequisits change.

> have something to share since they may diverge in different ways.  In that
> sense, a discussion of Python or Dylan as a specific alternative is better
> than a mere bitch session on why people don't like what they have.

But it doesn't answer the question what choices to make given the
chance of starting from scratch.

Andreas

--
"In my eyes it is never a crime to steal knowledge. It is a good
theft. The pirate of knowledge is a good pirate."
                                                       (Michel Serres)


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Andreas Bogk  
View profile  
 More options Nov 27 2001, 4:21 pm
Newsgroups: comp.lang.lisp
From: Andreas Bogk <andr...@andreas.org>
Date: 27 Nov 2001 21:27:49 +0100
Local: Tues, Nov 27 2001 3:27 pm
Subject: Re: On nil qua false [was: Re: On conditionals]

Lieven Marchand <m...@wyrd.be> writes:
> I'm not sure where you see this, but perhaps I'm too close to it. One
> argument that is less important to the Dylan community then to the CL
> community is the cost of change. There is a larger amount of CL code
> around, more CL books and tutorials and more CL implementations, so
> any proposed change not only has to prove its use, but also its cost
> effectiveness. For a lot of the minor things where people argue about,
> changing them wouldn't be worth it even if you could convince
> everyone.

This is of course totally reasonable behaviour.  Nevertheless, there
might be people who don't have these constraints, or the cost might be
lower than people think.  So the discussion is not worthless.

Let me give you an example.  There seems to be a common consensus that
Emacs Lisp is broken.  However, the cost of change appears high:
there's lots of legacy code out there.

The biggest obstacle in automatic translation from elisp to, say,
scheme, is that elisp has dynamic scoping, whereas scheme (or CL for
that matter) employs lexical scoping.  Well, you could make all local
bindings dynamic bindings, but the code would be a mess.

On the ICFP2001 conference, there was a paper that described how to
employ data flow analysis to figure out which bindings could be
replaced by lexical bindings without changing the semantics of the
code.  A test with a representative file from Gnus showed that only 4
out of 150 bindings were actually used in a dynamic fashion.  These
can be refactored manually.

A scientific result changed what seemed to be like a heroic task into
something manageable.

It also works the other way around: the scientific community is always
looking for challenging problems of practical importance.

Andreas

--
"In my eyes it is never a crime to steal knowledge. It is a good
theft. The pirate of knowledge is a good pirate."
                                                       (Michel Serres)


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Andreas Bogk  
View profile  
 More options Nov 27 2001, 4:21 pm
Newsgroups: comp.lang.lisp
From: Andreas Bogk <andr...@andreas.org>
Date: 27 Nov 2001 22:20:16 +0100
Local: Tues, Nov 27 2001 4:20 pm
Subject: Re: On nil qua false [was: Re: On conditionals]

Jochen Schmidt <j...@dataheaven.de> writes:
> No you don't have to swallow it. You can decide to use CL or not but
> bitching around on things that _you_ as a non-CL user don't like is not
> particularily fair.

Just that I am a non-CL user (yet, I wish I would get clg working...),
doesn't mean I cannot imagine what it would be like to work with a
Lisp where nil equals '().  Especially since I have enjoyed working
with languages that differentiate, and appreciate the coherency
resulting from following stricter design criteria.

> The points critizized here in this thread (nil/false/'()...) seem to be no
> "bug" or "design-error" to the _users_ of the language but instead of that
> - a _feature_ . It is simply not enough to conclude that it is a
> design-error in Common Lisp if it could be counted as a design-error in a
> completely other language (like Dylan - if you count that as lisp or not).

As a feature, it feels like a convenience hack so you can write
(if foo) instead of (unless (empty? foo)).

That's not much of a gain, given that you have just violated the
design rule of having a way to differentiate between a valid and an
invalid result.  So you're having a potential pitfall here that you
need to be aware of when writing code.  This might feel natural after
having developed awareness for the phenomenon and trained avoiding it.
Still, it adds to the learning curve for newcomers, and potentially
uses up cycles in your brain that you could use to solve the actual
problem instead.

> Do you think it is a good idea for a basketball player to go to a football
> club and criticizing them for using the feet to hit the ball because this
> is a particular bad idea in contrast to the higher agility they would have
> using their hands?

No. The rules are fixed and simple. I could see different basketball
teams having an argument about a basketball rule, however.  I could
also see an argument about training methods for underlying basic
primitives of movements and physical abilities.

> Another claim you mindlessly reuse here as a fact is that nonsense that a
> language designed by a commitee is bad from it's beginnings. Compromises do
> not _need_ to be bad - sometimes a compromise is (seen at a whole) _much_
> better than any of the possible extremes. The good thing of design by a
> (good) commitee (like in any good democraty) is that it is seldom that
> _critical_ flaws end up in the result.

As with laws, it's hard to see afterwards what the compromises
involved were.  Judging from what I've read in several documents about
the history of Lisp, CL was a rather hairy compromise.

Of course, not all committee results are bad.  I just sometimes have
that imagination of a painting designed by a committee of Rembrandt,
Van Gogh and Dali.

> I personally see it as a bad point that Dylan omitted s-expressions since
> they are an important part of the "magic" behind lisp. But I don't think

How would you feel about reviving the prefix Dylan syntax?

> that Dylan is broken because of this fact - it simply changed it's audience
> to people that do not see or do not want the benefits of s-expression
> notation. The bad thing is that some Dylan users tend to claim to new users

One of the things on my list is finding out whether this benefit is
really there or if it could be achieved by other means.

> interested in lisp that Dylan is unconditionally better for them because it
> does not have "this many ugly parens". This claims imply that it is a
> bug to have s-expressions and even worse - it omits that it is maybe a
> _loss_ for Dylan not having them!!!

That's just to lure in the newbies, in whose eyes this *is* a bug.  In
my view, it's a minor inconvenience that I don't actually mind
anymore, and probably just a cultural thing.  For me, the Dylan syntax
is better readable, because it provides more context to my eye.  I can
spot assignments in infix Dylan immediately, whereas it takes me
several seconds to locate an assignment in prefix code.  Same goes for
grokking arithmetic expressions and array access.

The s-expression argument comes up quite often.  Why not, as an
experiment, start telling the newbies that, even though you think
s-expressions are superior, they can try Dylan to learn the basic
concepts, and then come back later to learn about advanced concepts.

> The bad thing when discussing about "The Right Thing" is that it simply
> does not exist out of context. A particular language, a community and even
> an implementation all define contexts that have to be taken into account
> when searching for "the Right Thing". Even if the context is well defined
> it happens from time to time that "the Right Thing" is ambiguous.

Discussing the Right Thing naturally boils down to discussing the
context, and that's productive.

> I'm too very interested in discussing language issues - but I think it is
> not a _honest_ discussion if on participant claims that the others are
> wrong because _oneself_ did it the other way!

I promise not to do that.  But I might claim that someone is wrong if
he presents an argument that contradicts a common context we've
established before.  If in his model there is no contradiction, he
must be using different axioms than me, and isolating these
differences can be a rewarding insight to both participants of the
discussion.  That would perfectly refute my claim of wrongness.

> Ask yourself what the real reasons are behind that particular wish of
> discussion - is it _really_ for finding the "Right Thing"? (which would
> imply to be _open_ for solutions that are different to your own!) Or is it
> maybe more like pushing of the own way to others?

It's Yin and Yang.  I can only establish facts about how important an
argument is to someone by trying to push them.  It is polite to keep
that push as small as possible, and a strong reaction to a small push
indicates a big force not originating from me.  I am fully aware that
this might push me around too, and I don't insist on not moving.  I
just believe that we all might end up in a constellation much more
beneficial for all.

> Is this _really_ about investigating if CL is good or what could be done
> better in Dylan? To me it looks more like marketing and advertising Dylan
> here in c.l.l - and not like "honest discussion".

If you consider it advertising when I'm saying that Dylan was a good
idea, then yes, I am advertising.  But it's honest, since that's my
opinion that I can back with arguments, and I can be convinced
otherwise with better arguments.

I do not mean to flame, troll, or insult people.  I'm coming here with
an open mind, and a story to tell.  I hope I'm finding people here of
likewise ilk.

Andreas

--
"In my eyes it is never a crime to steal knowledge. It is a good
theft. The pirate of knowledge is a good pirate."
                                                       (Michel Serres)


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Bradford W. Miller  
View profile  
 More options Nov 27 2001, 5:39 pm
Newsgroups: comp.lang.lisp
From: "Bradford W. Miller" <Bradford.W.Mil...@motorola.com>
Date: Tue, 27 Nov 2001 16:22:02 -0600
Local: Tues, Nov 27 2001 5:22 pm
Subject: Re: On nil qua false [was: Re: On conditionals]
For a summary of the NIL/False dichotomy (and why to overload them) see

"A Short Ballad Dedicated to the Growth of Programs" by Ashwin Ram

http://www.lisp.org/humor/large-programs.html

Best,


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Bruce Hoult  
View profile  
 More options Nov 27 2001, 7:08 pm
Newsgroups: comp.lang.lisp
From: Bruce Hoult <br...@hoult.org>
Date: Wed, 28 Nov 2001 13:08:16 +1300
Local: Tues, Nov 27 2001 7:08 pm
Subject: Re: On nil qua false [was: Re: On conditionals]
In article <B8296E2A.11AC%Bradford.W.Mil...@motorola.com>, "Bradford W.

Miller" <Bradford.W.Mil...@motorola.com> wrote:
> For a summary of the NIL/False dichotomy (and why to overload them) see

> "A Short Ballad Dedicated to the Growth of Programs" by Ashwin Ram

> http://www.lisp.org/humor/large-programs.html

        (cdr (assq key a-list))

vs

        (let ((val (assq key a-list)))
           (cond ((not (null? val)) (cdr val))
                 (else nil)))

What would be wrong with:

        (element a-list key :default nil)

??

-- Bruce


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Kenny Tilton  
View profile  
 More options Nov 27 2001, 7:30 pm
Newsgroups: comp.lang.lisp
From: Kenny Tilton <ktil...@nyc.rr.com>
Date: Wed, 28 Nov 2001 00:30:03 GMT
Local: Tues, Nov 27 2001 7:30 pm
Subject: Re: On nil qua false [was: Re: On conditionals]

Bruce Hoult wrote:

> In article <B8296E2A.11AC%Bradford.W.Mil...@motorola.com>, "Bradford W.
> Miller" <Bradford.W.Mil...@motorola.com> wrote:

> > For a summary of the NIL/False dichotomy (and why to overload them) see

> > "A Short Ballad Dedicated to the Growth of Programs" by Ashwin Ram

> > http://www.lisp.org/humor/large-programs.html

Ah, that's the piece I was thinking of quite a few dead horses back.
Priceless.

>         (cdr (assq key a-list))

> vs

>         (let ((val (assq key a-list)))
>            (cond ((not (null? val)) (cdr val))
>                  (else nil)))

> What would be wrong with:

>         (element a-list key :default nil)

I do not know either language and take your word for it that your
offering is the same as the lisp version, but I think that misses the
point of the spoof, viz, what happens /in general/ when NIL and false
are different. ie, CMIIW one cannot always avoid horrors such as:

    (not (null? <x>))

and:

    (else nil)

..with some language feature such as (element...).

kenny
clinisys


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Andreas Bogk  
View profile  
 More options Nov 27 2001, 8:19 pm
Newsgroups: comp.lang.lisp
From: Andreas Bogk <andr...@andreas.org>
Date: 28 Nov 2001 01:10:13 +0100
Local: Tues, Nov 27 2001 7:10 pm
Subject: Re: On nil qua false [was: Re: On conditionals]
"Bradford W. Miller" <Bradford.W.Mil...@motorola.com> writes:

> "A Short Ballad Dedicated to the Growth of Programs" by Ashwin Ram
> http://www.lisp.org/humor/large-programs.html

Nice read.  For comparison, here's the idiom the author seeked in
Dylan:

element(a-list, key, default: #f)

which even works regardless of the type of the collection like lists,
hashtables and vectors, and which allows for an alternative default
value in case #f is a legal element of a-list.

Andreas

--
"In my eyes it is never a crime to steal knowledge. It is a good
theft. The pirate of knowledge is a good pirate."
                                                       (Michel Serres)


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Thomas F. Burdick  
View profile  
 More options Nov 27 2001, 8:33 pm
Newsgroups: comp.lang.lisp
From: t...@conquest.OCF.Berkeley.EDU (Thomas F. Burdick)
Date: 27 Nov 2001 17:33:38 -0800
Local: Tues, Nov 27 2001 8:33 pm
Subject: Re: On nil qua false [was: Re: On conditionals]

Janis Dzerins <jo...@latnet.lv> writes:
> Kenny Tilton <ktil...@nyc.rr.com> writes:

> > You're the rock star of Common Lisp. Get your head out of c.l.l. and
> > go win us some converts.

> I don't understand why some people are obsessed by the idea that
> Common Lisp needs converts. I even think that converts that have to be
> won should better stay away from Common Lisp.

That's unnecessarily elitist.  I don't think that Lisp needs everyone
who can write a line of code, but there are a lot of people who,
without effort from others, wouldn't even know that Lisp exists (in
its modern form).  And, even if they do, there are a *lot* of cool
things to learn, and if they don't have any idea how good CL is, how
will they know to prioritize learning it?  I don't want every
halfway-stupid Perl hacker working in Lisp.  I do want a lot of people
who are very intelligent, concentrating on other things, and fighting
against their language, without realizing the extent to which they can
do something about that, to learn Lisp.  How did you learn that Lisp
was worth learning (instead of doing whatever else you could have used
the same time for)?  Being at the right place at the right time?
Concerted evangelism?  Both?  If it hadn't been for a stroke of luck,
I'd be working on C++ compilers now, because I wouldn't have realized
the extent to which a language could work with me.

--
           /|_     .-----------------------.                        
         ,'  .\  / | No to Imperialist war |                        
     ,--'    _,'   | Wage class war!       |                        
    /       /      `-----------------------'                        
   (   -.  |                              
   |     ) |                              
  (`-.  '--.)                              
   `. )----'                              


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Andreas Bogk  
View profile  
 More options Nov 27 2001, 8:35 pm
Newsgroups: comp.lang.lisp
From: Andreas Bogk <andr...@andreas.org>
Date: 28 Nov 2001 02:33:56 +0100
Local: Tues, Nov 27 2001 8:33 pm
Subject: Re: On nil qua false [was: Re: On conditionals]

Kenny Tilton <ktil...@nyc.rr.com> writes:
> are different. ie, CMIIW one cannot always avoid horrors such as:

>     (not (null? <x>))

> and:

>     (else nil)

A idiom one commonly sees in a number of Lisps is

  (and x (some-operation-that-fails-on-false x))

which would read

  x & x.some-operation-that-fails-on-false

in infix Dylan.  If the compiler[0] knows that the type of x is
false-or(<x>), it can even prove that x will never be false for
some-operation, and optimize away type checks, function dispatch and
the like.

Note that if the result of some-operation is <y>, the type of the
complete expression above would be false-or(<y>).

Andreas

[0] A smart enough compiler. Functional Developer is, Gwydion Dylan
    isn't.

--
"In my eyes it is never a crime to steal knowledge. It is a good
theft. The pirate of knowledge is a good pirate."
                                                       (Michel Serres)


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Bruce Hoult  
View profile  
 More options Nov 27 2001, 10:22 pm
Newsgroups: comp.lang.lisp
From: Bruce Hoult <br...@hoult.org>
Date: Wed, 28 Nov 2001 16:22:41 +1300
Local: Tues, Nov 27 2001 10:22 pm
Subject: Re: On nil qua false [was: Re: On conditionals]
In article <87elmjel17....@teonanacatl.andreas.org>, Andreas Bogk

<andr...@andreas.org> wrote:
>   x & x.some-operation-that-fails-on-false

> in infix Dylan.  If the compiler[0] knows that the type of x is
> false-or(<x>), it can even prove that x will never be false for
> some-operation, and optimize away type checks, function dispatch and
> the like.

Gwydion handles this just fine if x is a simple binding.  What it
doesn't do (and bug reports have been submitted about) is optimize:

   foo(x) & foo(x).some-operation-that-fails-on-false

or (equivilently)

   x.foo & x.foo.some-operation-that-fails-on-false

Of course in general you can't optimize this because foo() might have
side effects, but in the special case of foo() being a
compiler-generated slot getter (which is what the bug reports were
about) the compiler can safely assume that there are no side effects and
CSE it.  Gwydion doesn't (yet) do this.

At one time I thought that it was correct to not CSE slot access because
the value of the slot could be changed by another thread (which can't
happen with a local binding), but then some of the folks who originally
designed Dylan said that there was no intention to enforce thread-safety
at that granularity.

-- Bruce


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Erik Naggum  
View profile  
 More options Nov 27 2001, 11:25 pm
Newsgroups: comp.lang.lisp
From: Erik Naggum <e...@naggum.net>
Date: Wed, 28 Nov 2001 04:25:21 GMT
Local: Tues, Nov 27 2001 11:25 pm
Subject: Re: On nil qua false [was: Re: On conditionals]
* Andreas Bogk
| Can anybody explain to me why some people regard the Common Lisp standard
| as gospel?

* Erik Naggum

> Well, why do you regard it as gospel?  Why do _you_ think in such terms?

* Andreas Bogk
| I don't.  I suggested that you do, based on your "it is the way it is,
| get over with it" argument.

  I repeat: Why do you think in such terms?  Your suggestion is nothing but
  a way to tell the world that you conceptualize in terms of "gospel" and
  other religious terms.  _Why_ do you do this?  What purpose does such a
  conceptualization serve?  What kind of short-circuiting of your thinking
  processes are you satisfied with once you can label someone "religious"?
  I am interested in _why_ you have this conceptualization.  If you do not
  even recognize that in order to accuse somebody else of something when
  lacking evidence of it _from_ those you accuse, i.e., you must recognize
  that the "pattern" you see is your own mental creation, you have to think
  in the terms you accuse them of, please let me know that you do not even
  consider _yourself_ worth listening to, and I shall comply with that.

  There are a few things that are never true of "me", only of "you", in the
  words and opinions and thinking patterns of some people.  Those who make
  that mistake, provide the world with evidence that they cannot consider
  what it would mean for someone for their accusations to be true, hence
  they are worthless nonsense published only to pester and annoy people,
  because they, too, _know_ that it is untrue.

///
--
  The past is not more important than the future, despite what your culture
  has taught you.  Your future observations, conclusions, and beliefs are
  more important to you than those in your past ever will be.  The world is
  changing so fast the balance between the past and the future has shifted.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Erik Naggum  
View profile  
 More options Nov 28 2001, 12:02 am
Newsgroups: comp.lang.lisp
From: Erik Naggum <e...@naggum.net>
Date: Wed, 28 Nov 2001 05:02:44 GMT
Local: Wed, Nov 28 2001 12:02 am
Subject: Re: On nil qua false [was: Re: On conditionals]
* Andreas Bogk
| I do tend to break laws I consider immoral or meaningless.  Maybe this
| has to do with the fact that I was raised in a dictatorship.

  It probably explains why it remained a dictatorship for so long if that
  is what it did to its people's concept of obeying laws while _not_ trying
  to change them.  However, I have no sympathy for those who cannot get
  over their hardships when these hardships go away.  Barring actual mental
  illness, there is simply no excuse for a thinking person _not_ to change
  his mind when he world changes around him.  And in fact, Common Lisp is
  _not_ a dictatorship.  It is a voluntary standard, but if you purport to
  conform to it, you can conform to it and be an honest person, or you can
  fail to conform to it while you say you and be a manipulating liar.  It
  seems to me that suffering dictatorships tells people that it is _right_
  to manipulate and lie, because if you do not engage in these tactics, you
  suffer and die.  That frame of mind may take a lot of work to get out of,
  but it is worth it.

| For the purposes of this discussion, the summary is: I don't buy that
| metaphor, please use another one.

  Then I will consider you a criminal in our little society, one who is
  fighting "laws he consider immoral or meaningless" simply because he has
  failed to think things through.

| That way, you keep outsiders to be outsiders.

  Being an outsider is a personal, voluntary choice of attitude, it is not
  something that others can impose on you.

| Then consider yourself something like a secret conspiracy.

  Again, why do _you_ think in such terms?  _This_ is your core problem.

| Just delivering the results without sharing the insights is keeping out
| people.

  There is no such active purpose or intent.  You are not in an oppressive
  dictatorship, anymore.  Adjust accordingly.

| I reject the notion of the Lisp community being identical to the
| Common Lisp community, and I especially reject the notion of CL being
| used as a guide to define who's a criminal in the Lisp community.

  Of course you do.  You are a criminal in this community, and you want
  Dylan to be a Lisp.  This is no different from a Scheme freak who has
  made up his mind that Scheme is a Lisp, such that he can capitalize on
  the value of being a Lisp, but can still blame "Lisp" for shortcomings
  while keeping everything good to be associated with "Scheme".

| I feel I have a lot of common ground with many people here, basic things
| like believing that automatic memory management, dynamic typing, general
| function dispatch and interactive development are good ideas.

  Intelligent people tend to find people with whom they have common
  disagreements, not common agreements.  It is not what people think is
  right that unite smart people, it is what they think is wrong.  This is
  also what keeps reasonable societies and communities together.  Since you
  have experience with dictatorships, you may recognize that what makes a
  society a dictatorship is that its people are forced to agree on what is
  right, and that has _horrible_ results.

| If I find a feature that strikes me as odd, there could be different
| things going on:
|
| 1) It's indeed a bit odd, but people get used to it soon, so it won't
|    be a problem, but losing it wouldn't hurt either.

  Getting rid of it would hurt all those who are already used to it.

* Erik Naggum

> In time, you will see the wisdom that there are more than one right, that
> the idea that there is "one right" is wrong, but that this does not mean
> that one cannot determine that something will always be wrong no matter
> what is right.

| I fail to see how something can always be wrong, when something can't
| always be right.

  That is because you warped the statement into meaninglessness.  Please
  think about it some more.  Many people spend _years_ coming to grips with
  this inequality of the determinability of right and wrong and of making
  the mistake of believing that _a_ right answer is _the_ right answer.
  Wars have been fought over this, and many lives lost in bad cultures.

  E.g., you can determine that something cannot be right concurrently with
  something else (that is right) because they exclude eachother completely.
  This is eminently possible without knowing what is _actually_ right.
  Most of how we build (good) societies is based on this principle.

  Some people tend to think that because they find evidence of something,
  they can conclude that they have that something.  This is false.  It is
  only if you do not find evidence of _not_ being something that you can
  say that.  Until you have looked for and not found counter-evidence,
  _you_ have contributed the conclusion from evidence that could point in
  any direction.  Remember, from a single data point, you can extrapolate
  in any direction.  Counterinformation is more important than information
  in determining what you have really found, because it helps exclude that
  which _could_ be right, but actually are not.

///
--
  The past is not more important than the future, despite what your culture
  has taught you.  Your future observations, conclusions, and beliefs are
  more important to you than those in your past ever will be.  The world is
  changing so fast the balance between the past and the future has shifted.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Erik Naggum  
View profile  
 More options Nov 28 2001, 2:00 am
Newsgroups: comp.lang.lisp
From: Erik Naggum <e...@naggum.net>
Date: Wed, 28 Nov 2001 06:59:56 GMT
Local: Wed, Nov 28 2001 1:59 am
Subject: Re: On nil qua false [was: Re: On conditionals]
* Andreas Bogk <andr...@andreas.org>
| Just that I am a non-CL user (yet, I wish I would get clg working...),
| doesn't mean I cannot imagine what it would be like to work with a
| Lisp where nil equals '().

  People who imagine things that are not so, have a very strange tendency
  to believe that other things remain unchanged which would be _very_
  different if their simple "change" were indeed made.  It takes a very,
  very smart person to lie consistently about something for a long time
  without being exposed, because all things interconnect and two things
  that would normally exclude eachother seem to be true at the same time.
  The unusual ability of liars to explain apparent contradictions is one of
  the things that give them away.  The knowledge of the world possessed by
  honest people is limited in strange and unpredictable ways, and sooner or
  later, you run into something they cannot explain, but this is _normal_.
  A person who has constructed a make-believe world has had to make up so
  much that the boundaries of their knowledge tend to be more predictable
  and they exceed other people in their detailed knowledge of their world,
  because of their fear that the unexplainable will give them away.  Even
  knowing this, it is extremely hard to lie convincingly -- those who are
  best at it write long novels, which differ from other elaborate lies in
  that they do not even _intend_ to be true.

  In other words, I strongly doubt that you can.

| As a feature, it feels like a convenience hack so you can write
| (if foo) instead of (unless (empty? foo)).

  Is this the extent of your imagination?

| That's not much of a gain, given that you have just violated the design
| rule of having a way to differentiate between a valid and an invalid
| result.

  Where the hell did this rule come from?  I thought you had rejected laws
  that were immoral or meaningless because your upbrining in dictatorships.
  What makes you even _believe_ that you can dictate such rules and _not_
  have people object to the nonsense?

| Still, it adds to the learning curve for newcomers, and potentially uses
| up cycles in your brain that you could use to solve the actual problem
| instead.

  As a matter of fact, (when foo ...) has a _much_ lower cognitive load
  than (unless (empty? foo) ...).  If you at _least_ had rewritten it as
  (when (pair? foo) ...), you might have a fighting chance, but the two are
  not quite similar -- foo could be a non-list, in which case empty? might
  provide the wrong answer.  An empty string or vector or hashtable or
  package or whatever is true in Common Lisp, but empty? should be true of
  all of these.  You would in fact have to be

(unless (or (not (list? foo)) (not (pair? foo))) ...)

  to be an accurate "translation", or you could of course write

(unless (not (eql foo <false>)) ...)

  which just proves that (when foo ...) is the _correct_ choice!

| As with laws, it's hard to see afterwards what the compromises involved
| were.  Judging from what I've read in several documents about the history
| of Lisp, CL was a rather hairy compromise.

  That _should_ tell you something about people, _not_ about languages.

| I just sometimes have that imagination of a painting designed by a
| committee of Rembrandt, Van Gogh and Dali.

  When I see people denounce the work of several people who work together,
  I see a person who thinks _much_ too highly of his own abilities.  Out of
  all the millions, if not billions, of painters in the history of the
  world, the handful of geniuses who _did_ paint better than a committee
  would have done actually prove that committees do a better job than the
  (- total-world-population number-of-geniuses) people would.  However, if
  you think of _yourself_ as the Rembrandt of programming language design,
  this may be hard to understand.  However, since irrationally exaggerated
  egos tend to cause few problems until they are challenged (at which point
  such people implode and/or become physically violent), staying away from
  people who put a bullet through inflated egos is a good survival tactic,
  as is trying to intimidate anyone who can expose them, and one may in
  fact keep believing that one's ego is the correct size for quite a while.
  E.g., I know a lot of people who are better than me at many of the things
  I want to be good at, but I know far, far more people who only _think_
  they are and who have yet to wake up and smell the coffee and realize
  their "ranking".  These latter people tend to hate me for not allowing
  them to keep thinking they are far better than they are.

| One of the things on my list is finding out whether this benefit is
| really there or if it could be achieved by other means.

  Whether it could or not is irrelevant unless you are designing a new
  language from scratch -- and you do not do that in a newsgroup for an
  established language, at least not under such pretenses as you do.

  The question is whether it should even be attempted.  Smart people can
  figure out better ways to make democracy work, but when people who are
  too smart for their own good get brilliant ideas, they tend to set up
  dictatorships, instead, because the royal mess that is democracy in
  action is actually _much_ worse than _any_ isolated theory could be --
  until implemented.  And that is what makes them _better_, because the
  crucial element of a democracy is that people agree only on what _not_ to
  do, not on what to _do_.  Basically, what they end up doing is a fall-out
  of what they have agreed to _exclude_ from the possibility of being done.
  Given the resources of modern countries, _anything_ could be achieved.
  It is what we give high enough priority that it excludes a lot of stuff
  that actually gets done.  In the budgeting and prioritizing process of
  politics, the actual agreements are over what _not_ to do with all that
  money, what _not_ to bring up again during the budget period.  Budget
  debates are not about the money, but about killing political ideas.

| That's just to lure in the newbies, in whose eyes this *is* a bug.

  So you admit to fraudulent marketing.  Well, good luck with Dylan.

| In my view, it's a minor inconvenience that I don't actually mind
| anymore, and probably just a cultural thing.

  "Just a cultural thing"?  That is precisely what the super-tolerant
  idiots say about the molestation of young females in backward cultures
  that claim it is their "religion" that defends this criminal act against
  at least half of humanity.  Cultures are tremendously important, and some
  of them are just plain _bad_.

  _Culture_ is at the very core of why people choose language communities.

| The s-expression argument comes up quite often.  Why not, as an
| experiment, start telling the newbies that, even though you think
| s-expressions are superior, they can try Dylan to learn the basic
| concepts, and then come back later to learn about advanced concepts.

  Why the hell would Common Lisp users want to do that?  I think you, the
  proposer of this idiotic manipulation attempt, suggest to your Dylan
  users to try out Common Lisp before they tire of Dylan's shortcomings.
  Man, you are so incredibly short-sighted you insult your own intelligence
  with such a stupid, stupid suggestion.  You really _are_ a marketing and
  advertising person, are you not?  Zero technical skills compensated for
  by lots of smooth talking could produce such an incredibly _dumb_ attempt
  to pull the wool over so many people's eyes, but not honesty and smarts.

| Discussing the Right Thing naturally boils down to discussing the
| context, and that's productive.

  That "context" is a large framework of what has been excluded from the
  discussion.  In essence, The Right Thing is whatever is left when you
  have agreed not to pursue a very large number of paths.  It is the same
  way when people say they have chosen their new car through a careful
  process of weighing positive and negative sides, cost and efficiency, and
  can make a perfect explanation for why this car is _the_ best choice.
  What they usually omit from this story is how they "decided" to not even
  consider 99% of the car market before they started weighing anything at
  all and probably were left with a handful of models, if not actual cars,
  based on unexpressed and emotionally determined desiderata, among which
  some _actually_ irrelevant factor was "weighed" and found sufficient.

  To trace the history of how we ended up with our conclusions, ignore all
  the explicit arguments and premises and logic and focus on what went down
  the drain before you even _started_ to think about it.  _That_ is where
  you will find the history.  It is not as accidental as you might think.
  What we do _automatically_ is what defines our sense of culture.  If you
  come from a different culture, you will fail to find the reasons in the
  _explicit_ history of the new culture.  (This is why history is such a
  hard discipline and requires people who are able to put themselves in the
  context of their discoveries.)

  It is fundamentally unproductive to "discuss" the context.  Either you
  grasp it more or less automatically, or you fail to.  If you do not, you
  can find particular reasons why it failed, but if you persist, you will
  only be an outsider looking in at something you do not understand.  If,
  on the other hand, you accept that whatever this new thing is, you should
  let it influence you before you try to influence it, you will slowly grow
  into its frame of mind in ways that are incredibly hard to explain
  because it happens just as implicitly as how two people grow together
  when they live together, how pets and their owners communicate without
  any signs that outsiders can observe, how we attribute this to intuition
  when in fact it is nothing more than the ability to discern signals that
  other people overlook.
...

read more »


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Erik Naggum  
View profile  
 More options Nov 28 2001, 2:09 am
Newsgroups: comp.lang.lisp
From: Erik Naggum <e...@naggum.net>
Date: Wed, 28 Nov 2001 07:09:38 GMT
Local: Wed, Nov 28 2001 2:09 am
Subject: Re: On nil qua false [was: Re: On conditionals]
* Andreas Bogk
| The biggest obstacle in automatic translation from elisp to, say,
| scheme, is that elisp has dynamic scoping, whereas scheme (or CL for
| that matter) employs lexical scoping.  Well, you could make all local
| bindings dynamic bindings, but the code would be a mess.

  Nonsense.  The biggest obstacle is that any usable Emacs would have to
  implement an Emacs Lisp so faithful to the original that it would never
  see any users switch to the new and improved Emacs Lisp who could find
  even a smidgeon of old Emacs Lisp code to get useful things done, and
  since the new Emacs would not supplant the old Emacs unless people were
  confident that their old Emacs Lisp stuff worked in the new, it would one
  giant project to prove that Emacs Lisp can be hosted on something other
  than the old C engine, which has approximately as much value to any Lisp
  community as a Dylan advocate wasting their time with design discussions.

  _People_ is the main impediment to human progress.  I wonder what kind of
  extraterrestial influences those who do not understand this are under.

| A scientific result changed what seemed to be like a heroic task into
| something manageable.

  I fear that you actually believe this, which is pretty tragic.

///
--
  The past is not more important than the future, despite what your culture
  has taught you.  Your future observations, conclusions, and beliefs are
  more important to you than those in your past ever will be.  The world is
  changing so fast the balance between the past and the future has shifted.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Erik Naggum  
View profile  
 More options Nov 28 2001, 2:20 am
Newsgroups: comp.lang.lisp
From: Erik Naggum <e...@naggum.net>
Date: Wed, 28 Nov 2001 07:19:57 GMT
Local: Wed, Nov 28 2001 2:19 am
Subject: Re: On nil qua false [was: Re: On conditionals]
* Andreas Bogk
| People's opinion about this one varies, as well as about other features.
| The argument "It's not broken because CL says so" doesn't count.

  "It is not illegal just because the law says so", said the criminal, ...

| I'm interested in arguments that sound like "CL does the Right
| Thing because..." or "CL does the Wrong Thing because...".

  ... "I am only interested in arguments that sound like <whatever>".

  I think we have ourselves another specimen of that immature humanoid who
  has yet to figure out that _people_ actually count.

  Let me be nasty for a second.  How old are you, Andreas?  18?  16?

  That people can agree to things without proof of excellence is a good
  thing.  But I guess Dylan is just as anal-retentive as Scheme and that
  the reason we have a current influx of Dylanites is that nothing happens
  in the Dylan community.

  The biggest problem with all these "logical" types is that they have no
  clue how to choose the premises from which they draw their conclusions,
  they just take them for granted, unquestioned, received by revelation,
  and cannot fathom that anyone would disagree with their premises, only
  with their conclusions.  E.g., the premise that technical debates in a
  community who has already agreed on a large standard are based in logic
  from _their_ choice of technical premises.  That is simply _wrong_.

///
--
  The past is not more important than the future, despite what your culture
  has taught you.  Your future observations, conclusions, and beliefs are
  more important to you than those in your past ever will be.  The world is
  changing so fast the balance between the past and the future has shifted.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Messages 101 - 125 of 283 < Older  Newer >
« Back to Discussions « Newer topic     Older topic »