Xah wrote:
• Why You should Not Use The Jargon Lisp1 and Lisp2
http://xahlee.org/emacs/lisp1_vs_lisp2.html
Kent wrote:
> This suggestion is not a constructive one because it offers no useful
> substitution.
I did suggest a alternative in my essay.
I would say Common Lisp's model or Scheme Lisp's model, or, use a
communicative term like multi-meaning-space and single-meaning-space.
Lispers often call the associated concept name space. But in fact it's
not a naming space. Name space in computer langs is in general applied
to package names, and in general any particular scope of variables or
functions's names. In the case of lisp, lisp's symbols. What the lisp1
and lisp2 refers to, are rather peculiar to lisps, and it is more
proper to call them meaning-space.
On Sep 2, 2:42 pm, Kent M Pitman <······@nhplace.com> wrote:
> [ comp.lang.lisp only;http://www.nhplace.com/kent/PFAQ/cross-posting.html]
>
> ·······@gmail.com" <······@gmail.com> writes:
> > Please try to avoid the jargons lisp1 and lisp2.
>
> This suggestion is not a constructive one because it offers no useful
> substitution. Indeed, these terms were never suggested as general
> purpose, but have taken on a life of their own primarily because there
> is no better term that is easily pronounceable. "having a single
> namespace" or "having a particular finite number of namespaces" is
> just not pithy.
>
> > * The jargon is opaque. The words do not convey its meaning.
>
> I somewhat agree, but human language tends to be a living thing,
> adapting as needed.
Indeed. However, that is not to say that we should let the natural
tendency of bad naming to thrive in all contexts. In other words, the
fact that terminologies gets coined in a rather flexible way, but this
does not imply all terminologies are created equal, or that we should
embrace terminologies without regards to quality.
------------------------------
the above are written a month ago. Was going to write a full reply but
never finished. Here it is for what's worth.
Xah
∑ http://xahlee.org/
☄
On Wed, 8 Oct 2008 13:32:50 -0700 (PDT), ·······@gmail.com"
<······@gmail.com> wrote:
>Xah wrote:
>
>� Why You should Not Use The Jargon Lisp1 and Lisp2
>http://xahlee.org/emacs/lisp1_vs_lisp2.html
>
>Kent wrote:
>> This suggestion is not a constructive one because it offers no useful
>> substitution.
>
>I did suggest a alternative in my essay.
>I would say Common Lisp's model or Scheme Lisp's model,
The terms "Lisp-1" and "Lisp-2" were invented to expressly *avoid*
mentioning Common Lisp or Scheme because using the names of the
languages invokes other differences not relevant to the discussion of
name spaces.
>or use a communicative term like multi-meaning-space and
>single-meaning-space.
These terms are descriptive although they are a bit verbose compared
with Lisp-1, etc.
>Lispers often call the associated concept name space. But in fact it's
>not a naming space. Name space in computer langs is in general applied
>to package names, and in general any particular scope of variables or
>functions's names. In the case of lisp, lisp's symbols. What the lisp1
>and lisp2 refers to, are rather peculiar to lisps, and it is more
>proper to call them meaning-space.
Lisp does not use the term "name space" differently from other
languages. The meaning is the same, only the implementation details
are different.
George
Xah wrote:
«
• Why You should Not Use The Jargon Lisp1 and Lisp2
http://xahlee.org/emacs/lisp1_vs_lisp2.html
I did suggest a alternative in my essay.
I would say Common Lisp's model or Scheme Lisp's model,
»
George Neuner wrote:
> The terms "Lisp-1" and "Lisp-2" were invented to expressly *avoid*
> mentioning Common Lisp or Scheme because using the names of the
> languages invokes other differences not relevant to the discussion of
> name spaces.
Yes. I mentioned in the article. The creation of these terms is in a
context of a political fight. Namely, in creating the Common Lisp
standard, as Kent Pitmant has tirelessly and repeatedly pointed out in
the past decade here.
As i mentioned in the article, the political context for the birth of
lisp1/lisp2 is over, about 2 decades ago.
Except when discussing history or the history of the naming of the
concept per se, there's no need to stick with the jargons lisp1 and
lisp2.
If fact, i argued, if not for so much of the colorful jargon “lisp1/
lisp2”, the issue wouldn't even be noticeable as it is relatively
unimportant. Common Lisp today has multi-meaning-space, and Scheme
Lisp is single-meaning-space. That's just a language fact and there's
not much one can do or want to do much about that.
Also, another point Kent has mentioned is that people in the community
naturally picked up these term. Actually, in my opinion, the
popularity and continued use of these terms has much to do with Kent's
promotion. In the past decade in comp.lang.lisp, he constantly remind
people of his article, and even explicitly request others to use the
term Lisp1 and Lisp2, as opposed to other terms people used when
discussing this issue, such as Lisp/Scheme's way.
> >or use a communicative term like multi-meaning-space and
> >single-meaning-space.
>
> These terms are descriptive although they are a bit verbose compared
> with Lisp-1, etc.
Yes of course. (but on the whole, all things considered, i think multi/
single-meaning-space is much better ... )
> >Lispers often call the associated concept name space. But in fact it's
> >not a naming space. Name space in computer langs is in general applied
> >to package names, and in general any particular scope of variables or
> >functions's names. In the case of lisp, lisp's symbols. What the lisp1
> >and lisp2 refers to, are rather peculiar to lisps, and it is more
> >proper to call them meaning-space.
>
> Lisp does not use the term "name space" differently from other
> languages. The meaning is the same, only the implementation details
> are different.
Name space are the spaces for names. For example, you might have a
variable/subroutine/function/class named “CreateSound”, but this could
be just defined in your file, or it could be imported from a package/
module/library, or another package/module/library could also have such
a entity called “CreateSound”. This is when the name space concept
came from. For those curious, the “space” part of the terminology came
from mathematics, e.g. vector space, topological space. It effectively
means a “set”. The reason that “space” and “set” are often synonymous
is due to the study of geometry.
The name space concept is tightly connected with the language's
library/package/module system. In emacs lisp, and PHP, for example,
the language actually do not have a name space mechanism, so that you
have more or less create unique names for every function/var you
write. (latest version of PHP introduced name space mechanism but
isn't in common use yet) In most other langs (e.g. Perl, Python,
Mathematica), there are name space mechanisms, so that you could call
a function in some library using some kinda fullpath system, or that
you could call that function without fullpath by “importing” the
function's name into your current file's name space. However, this
still does not solve the problem of uniq naming. That is, a Joe could
write a library named Sound with a function named CreateSound, but
someone else could also have writen a lirabray named Sound with a
function named CreateSound. So, when 2 program both uses CreateSound,
they might behave very differently. (this is a problem for example in
emacs, where lots of people has written a module named xyz-mode (e.g.
Javascript-mode), competing for the same name xyz-mode, or else using
creative and less intuitive names to avoid name space jamming (e.g.
javascript-mode vs js-mode vs js2-mode, xml mode vs nxml mode, perl
mode vs cperl mode, ... etc.))
Java solved the uniqueness problem by adopting a domain name system
for library names, as a convention. So, if joe writes a package, by
convention he should name his package something like “com.joe-
bloke.sound”. This domain name system has been adapted in few other
language systems too.
With regards to lisp, in emacs lisp for example, the name space is a
major problem, and is also a major problem of Scheme Lisp (Scheme Lisp
spec 6 tried to fix htis problem but not without huge controversies).
And as far as i understand from hearsay of gossips here, it is also a
major problem for Common Lisp.
The above is a brief introduction on the concept of name space as it
is used, and some of its issues.
Now, the jargon lisp1 and lisp2 refers to a concept entirely different
from name space. It has to do with what lisp calls a symbol's
“function cell” or “value cell” (note: as is given by Kent's article
title “Technical Issues of Separation in Function Cells and Value
Cells”). What these function cell and value cell basically means the
value of lisp language's var/function/subroutine/class. (Note: var/
function/subroutine/class are typically called a “name” in computer
languages but in lisp is called “symbol”.) The “function cell” or
“value cell” is effectively “meaning space” or “value space”.
Xah
∑ http://xahlee.org/
☄
my dear boy, nothing is MORE important as politics!
Even if it only exists to baffle newbies and wannabies, it serves its
purpose to keep them babbling and thus from interfering with things
that are more important, like feeding my cat.
Cor
--
Mijn Tools zijn zo modern dat ze allemaal eindigen op 'saurus'
(defvar My-Computer '((OS . "GNU/Emacs") (IPL . "GNU/Linux")))
SPAM DELENDA EST http://www.clsnet.nl/mail.php
Prime directive of crimeprevention : Present a Gun
Cor Gest <···@clsnet.nl> writes:
> my dear boy, nothing is MORE important as politics!
Except for grammar. Grammar is more important *than* politics.
:D
--
Joost Diepenmaat | blog: http://joost.zeekat.nl/ | work: http://zeekat.nl/
On Mon, 13 Oct 2008 12:28:10 -0700 (PDT), ·······@gmail.com"
<······@gmail.com> wrote:
>Xah wrote:
>
>> >Lispers often call the associated concept name space. But in fact it's
>> >not a naming space. Name space in computer langs is in general applied
>> >to package names, and in general any particular scope of variables or
>> >functions's names. In the case of lisp, lisp's symbols. What the lisp1
>> >and lisp2 refers to, are rather peculiar to lisps, and it is more
>> >proper to call them meaning-space.
>>
>George Neuner wrote:
>
>> Lisp does not use the term "name space" differently from other
>> languages. The meaning is the same, only the implementation details
>> are different.
>
>Name space are the spaces for names. For example, you might have a
>variable/subroutine/function/class named �CreateSound�, but this could
>be just defined in your file, or it could be imported from a package/
>module/library, or another package/module/library could also have such
>a entity called �CreateSound�. This is when the name space concept
>came from. For those curious, the �space� part of the terminology came
>from mathematics, e.g. vector space, topological space. It effectively
>means a �set�. The reason that �space� and �set� are often synonymous
>is due to the study of geometry.
You are correct that the namespace is connected to set theory - but it
did not originate there. You are also wrong in connecting it to
geometry - discrete and finite math underlies language theory, not
geometry.
>The name space concept is tightly connected with the language's
>library/package/module system.
No it is not. That is a modern reinterpretation of the concept.
Lisp's original (circa 1960) partitioning of names by usage rather
than by the whim of the programmer may be different than your
experience with other languages, but it is no less an example of
namespaces. It was, in fact, the very first example.
And Common Lisp (circa 1980) added packages which absolutely are
namespaces in the way you interpret them.
>In emacs lisp ... for example,
>the language actually do not have a name space mechanism, so that you
>have more or less create unique names for every function/var you
>write.
> :
>With regards to lisp, in emacs lisp for example, the name space is a
>major problem, and is also a major problem of Scheme Lisp (Scheme Lisp
>spec 6 tried to fix htis problem but not without huge controversies).
>And as far as i understand from hearsay of gossips here, it is also a
>major problem for Common Lisp.
Your ideas might be taken more seriously if you based them on
something more substantial than Emacs Lisp. Emacs Lisp was never
intended for anything more than macro programming.
Common Lisp has had namespaces (they're called "packages") since 1984.
Scheme calls namespaces "first class environments". Environments
first appeared in the 1998 R5 Scheme report - R6 greatly expanded upon
them. However, they were in all major R4 implementations in the
middle 1990s. Scheme began to experiment with namespaces almost as
soon as they appeared in Common Lisp - I recall using an R3 Scheme
that had them in 1989. However, environments were not included in the
R_RS documents until 1998 because there was no general agreement in
the community as to their semantics and API.
>The above is a brief introduction on the concept of name space as it
>is used, and some of its issues.
>
>Now, the jargon lisp1 and lisp2 refers to a concept entirely different
>from name space. It has to do with what lisp calls a symbol's
>�function cell� or �value cell� (note: as is given by Kent's article
>title �Technical Issues of Separation in Function Cells and Value
>Cells�). What these function cell and value cell basically means the
>value of lisp language's var/function/subroutine/class. (Note: var/
>function/subroutine/class are typically called a �name� in computer
>languages but in lisp is called �symbol�.) The �function cell� or
>�value cell� is effectively �meaning space� or �value space�.
Fascinating. You acknowledge that the same name can be used to refer
to different things at the same time - and you even refer to these
different references as being "spaces". And yet you refuse to
acknowledge that these _name_ "spaces" are namespaces.
"It would be most interesting to impress your memory engrams on a
computer, doctor. The resulting torrential flood of illogic would be
most entertaining." - Spock
George
Dear George Neuner moron,
May i have permission to attach our exchange in this thread in my
publication?
The use will be verbatim. It would help me illustrate what i mean by
tech geeker morons.
If you wish, i can write a analysis of your reply so that you can see
why in advance.
------------
PS my previous message about name space has been slightly polished and
published as addendum in my article, bottom:
Why You should Not Use The Jargon Lisp1 and Lisp2
http://xahlee.org/emacs/lisp1_vs_lisp2.html
Xah
∑ http://xahlee.org/
☄
On Oct 13, 9:57 pm, George Neuner <········@comcast.net> wrote:
> On Mon, 13 Oct 2008 12:28:10 -0700 (PDT), ·······@gmail.com"
>
>
>
> <······@gmail.com> wrote:
> >Xah wrote:
>
> >> >Lispers often call the associated concept name space. But in fact it's
> >> >not a naming space. Name space in computer langs is in general applied
> >> >to package names, and in general any particular scope of variables or
> >> >functions's names. In the case of lisp, lisp's symbols. What the lisp1
> >> >and lisp2 refers to, are rather peculiar to lisps, and it is more
> >> >proper to call them meaning-space.
>
> >George Neuner wrote:
>
> >> Lisp does not use the term "name space" differently from other
> >> languages. The meaning is the same, only the implementation details
> >> are different.
>
> >Name space are the spaces for names. For example, you might have a
> >variable/subroutine/function/class named “CreateSound”, but this could
> >be just defined in your file, or it could be imported from a package/
> >module/library, or another package/module/library could also have such
> >a entity called “CreateSound”. This is when the name space concept
> >came from. For those curious, the “space” part of the terminology came
> >from mathematics, e.g. vector space, topological space. It effectively
> >means a “set”. The reason that “space” and “set” are often synonymous
> >is due to the study of geometry.
>
> You are correct that the namespace is connected to set theory - but it
> did not originate there. You are also wrong in connecting it to
> geometry - discrete and finite math underlies language theory, not
> geometry.
>
> >The name space concept is tightly connected with the language's
> >library/package/module system.
>
> No it is not. That is a modern reinterpretation of the concept.
> Lisp's original (circa 1960) partitioning of names by usage rather
> than by the whim of the programmer may be different than your
> experience with other languages, but it is no less an example of
> namespaces. It was, in fact, the very first example.
>
> And Common Lisp (circa 1980) added packages which absolutely are
> namespaces in the way you interpret them.
>
> >In emacs lisp ... for example,
> >the language actually do not have a name space mechanism, so that you
> >have more or less create unique names for every function/var you
> >write.
> > :
> >With regards to lisp, in emacs lisp for example, the name space is a
> >major problem, and is also a major problem of Scheme Lisp (Scheme Lisp
> >spec 6 tried to fix htis problem but not without huge controversies).
> >And as far as i understand from hearsay of gossips here, it is also a
> >major problem for Common Lisp.
>
> Your ideas might be taken more seriously if you based them on
> something more substantial than Emacs Lisp. Emacs Lisp was never
> intended for anything more than macro programming.
>
> Common Lisp has had namespaces (they're called "packages") since 1984.
>
> Scheme calls namespaces "first class environments". Environments
> first appeared in the 1998 R5 Scheme report - R6 greatly expanded upon
> them. However, they were in all major R4 implementations in the
> middle 1990s. Scheme began to experiment with namespaces almost as
> soon as they appeared in Common Lisp - I recall using an R3 Scheme
> that had them in 1989. However, environments were not included in the
> R_RS documents until 1998 because there was no general agreement in
> the community as to their semantics and API.
>
> >The above is a brief introduction on the concept of name space as it
> >is used, and some of its issues.
>
> >Now, the jargon lisp1 and lisp2 refers to a concept entirely different
> >from name space. It has to do with what lisp calls a symbol's
> >“function cell” or “value cell” (note: as is given by Kent's article
> >title “Technical Issues of Separation in Function Cells and Value
> >Cells”). What these function cell and value cell basically means the
> >value of lisp language's var/function/subroutine/class. (Note: var/
> >function/subroutine/class are typically called a “name” in computer
> >languages but in lisp is called “symbol”.) The “function cell” or
> >“value cell” is effectively “meaning space” or “value space”.
>
> Fascinating. You acknowledge that the same name can be used to refer
> to different things at the same time - and you even refer to these
> different references as being "spaces". And yet you refuse to
> acknowledge that these _name_ "spaces" are namespaces.
>
> "It would be most interesting to impress your memory engrams on a
> computer, doctor. The resulting torrential flood of illogic would be
> most entertaining." - Spock
>
> George
On Tue, 14 Oct 2008 00:43:22 -0700 (PDT), ·······@gmail.com"
<······@gmail.com> wrote:
>Dear George Neuner moron,
>
>May i have permission to attach our exchange in this thread in my
>publication?
No. If you had not insulted me, I might have said yes.
You need to spend some quality time with books on programming language
semantics and language implementation.
George
·······@gmail.com" <······@gmail.com> wrote on Wed, 8 Oct 2008 :
> Xah wrote:
> Why You should Not Use The Jargon Lisp1 and Lisp2
>
> Kent wrote:
>> This suggestion is not a constructive one because it offers no useful
>> substitution.
>
> I did suggest a alternative in my essay.
> I would say Common Lisp's model or Scheme Lisp's model, or, use a
> communicative term like multi-meaning-space and single-meaning-space.
Of course, it has been pointed out to you EVERY TIME you bring up this
topic again and again, that Kent (and Gabriel's) original 1988 paper
http://www.nhplace.com/kent/Papers/Technical-Issues.html
which invented the terms "Lisp1" and "Lisp2", discussed in detail why
the new terminology was invented, and the benefits those terms have over
the _previous_ labelling of "Common Lisp's model" or "Scheme Lisp's model"
as you suggest. (Your other suggested pair are feasible, but awkward and
not popular.)
Yet, you persist in reposted the same tired words over and over again, never
acknowledging the actual contribution made by Pitman and Gabriel, nor that
you have been informed of your ignorance multiple times in the past. You
persist in pretending that the current terms Lisp1/Lisp2 just arose by
accident, and that nobody except you has ever considered using the
alternative language "Common Lisp's model" or "Scheme Lisp's model".
Yet this is contrary to actual historical fact. Your suggestions were status
quo originally, and were deliberated abandoned and replaced with the new
terminology, for very explicit (and very good!) reasons.
Since you've made no effort to understand or address the motivations that
caused the use of the current terminology, it should be no surprise that your
own suggestions are justifiably ignored.
-- Don
_______________________________________________________________________________
Don Geddis http://don.geddis.org/ ···@geddis.org
I've got Parkinson's disease. And he's got mine.
On Sat, 11 Oct 2008 14:32:12 -0700, Don Geddis wrote:
> ·······@gmail.com" <······@gmail.com> wrote on Wed, 8 Oct 2008 :
>> Xah wrote:
>>
>> Why You should Not Use The Jargon Lisp1 and Lisp2
>
> Yet, you persist in reposted the same tired words over and over again,
Yet, others like you persist in responding to him every time. Were it
not for you and other like-minded people, I would not even notice Xah's
existence thanks to filtering rules in my newsreader.
Tamas
Tamas K Papp <······@gmail.com> wrote on 11 Oct 2008 23:2:
> Yet, others like you persist in responding [...] every time.
I refuse to post a followup to this comment.
...
Oh, wait! ... Damn it!
_______________________________________________________________________________
Don Geddis http://don.geddis.org/ ···@geddis.org
When people say that the desert is lifeless, it just makes me want to grab them
by the collar and yell, "Why you stupid, stupid bastard!" Then I drive them
out into the desert to where the circus is, and point out the many forms of
zebra and clown life. -- Deep Thoughts, by Jack Handey
On Oct 11, 4:27 pm, Tamas K Papp <······@gmail.com> wrote:
> On Sat, 11 Oct 2008 14:32:12 -0700, Don Geddis wrote:
> > ·······@gmail.com" <······@gmail.com> wrote on Wed, 8 Oct 2008 :
> >>Xahwrote:
>
> >> Why You should Not Use The Jargon Lisp1 and Lisp2
>
> > Yet, you persist in reposted the same tired words over and over again,
>
> Yet, others like you persist in responding to him every time. Were it
> not for you and other like-minded people, I would not even notice Xah's
> existence thanks to filtering rules in my newsreader.
Yet, there is a class of morons like you, who delights in complete off-
topic drivel.
See:
On Ignoring Trolls, by Xah Lee, 2002-09
http://xahlee.org/UnixResource_dir/writ/troll_ignorance.html
plain text version follow:
------------------------
On Ignoring Trolls
Xah Lee, 2002-09
Dear troll readers,
I resent your uncouth advice on dealing with trolls. To the average
intellects rampant here, the “gospel of ignorance” seems to be the
sage advice for dealing with trolls, but has anyone noticed that it is
a rhetorical advice and never worked?
Alas, it is never going to work, because, like corruption or thievery
or mistrust, it takes a single cell to thwart the whole system, where
society necessarily became law-laden, lock-decorated, and mistrustful,
and that is the nature of things.
I have been more and more viewing things from a Artificial Life↗ or
Dynamical Systems↗ point of view. Ignoring trolls is indeed a above-
average advice, because it is a form of education, of the probable
theorization of how troll operates. However, it is a bit valueless if
one do not understand the core of the problem, or never took time to
think and analyze the complete picture. There are indeed many
perspectives and questions to be asked on the subject of troll. For
example, why do trolls troll? What is their ilk, if any? What caused
their disposition? Apparently a simple first question like this
already calls for researches that likely no sociologist has undertook.
Immediately the question begs how do we define a “troll”. As with
“intelligence”, i'm sure it is elusive. Of the liberally or literally
endowed, one can probe on the writing styles of good trolls, such as
mine. Now, have you observed, that certain trolls tend to exhibit
phantasmagoric reconditeness in their produce? Say, the Erik Naggum
fellow (or Richard Stallman, Linus Torvald, Larry Wall), who has i'm
sure in various times been labeled a troll, and a big monstrous one at
that. As you can see, a clear definition of troll now becomes
painfully necessary. Just exactly who is troll and who is not? Is it
by intent or by result?
The issue of how to deal with trolls is in fact a stupid question not
realized. If one traces the origin of troll, she'll find that it is a
human phenomenon, not particular to newsgroups. The word trolling has
somewhat specific meaning in the beginning. According to the Jargon
File (http://catb.org/~esr/jargon/index.html), it originally means the
act of message posting that ensures fire, knowingly or not. Today, the
word troll is both verb and noun, and is applied loosely to any
outsider. If you don't like someone's manner, he is a troll. If you
don't like a gadfly, he is a troll. If you don't like a philosopher,
he is a troll. If you don't like a inquirer, he is a troll. If you
don't like a humorist, he is a troll. If you don't like a teacher, he
is a troll. If you don't like witches, they are, well, witches and
must be witch-hunted. Thusly, from weirdo to witch, from teacher to
philosopher, from gadfly to firebrand, from loner to gay, they are all
trolls online at your call. Quick spun the guild of killfilers and
troll-criers. Anyone who has contrariwise things to say or the manner
of saying it is a troll.
Before the internet, there are epithets of weirdo, geek, oddball,
screwball, crank, kook, crackpot, jester, queer, fruitcake, firebrand,
gadfly, hell-raiser, rabble-rouser, outsider, loner, desperado, witch.
Their owners exist everywhere, from your highschool to your workplace.
As you can see, trolls were not born with the internet. It was with us
from the dawn of time. It is of course oblivious to the mainstream.
After all, who like witches?
Now what about the process aspect? I'm sure all of you who read me
have at least ten years of living experience. Of these years, 2/3 of
the time your eyes must be open. So, you must have some inkling of the
general situation of human activities. In conglomerations, people do
all kinds of things; and throughout a life time, view changes,
behavior changes, life-style changes. What is it, that has every
online discussion groups plagued with the troll phenomenon? Of course
both troll and troll-dealers are responsible, but what made them tick?
Now coming back to our original sagacious advice of ignoring trolls,
why would it _never_ work? Could you now see the complexity of the
problem? From a process point of view, troll-criers feed trolls
because that made them both happy. Spatting and babbling is a inherent
part of discussion. Do you honest think there should or would be a
pure society filled with perfect logicians who have unilateral goals
and impeccable manners? Good trolls, such as myself, ENJOY trolling.
Troll-feeders, enjoy spitting on their targets. (it's a human need.)
Troll advisers, enjoy giving troll-dealing advice. Bleeding-hearts,
enjoy speaking out for so-called trolls. The more open a forum, the
more diversity. Nothing can be less natural.
I don't know if i should have some conclusive remarks about troll. You
see, i'm beginning to view things as a process, a ever changing
dynamic system, a Artificial Life system model. The human-simpletons
are just little insignificant entities in a environment of billions of
them, each effecting local happenings in a diverse and extreme complex
way with some simple but fuzzy needs, along which some emergent
phenomena arise, among them trolling.
PS i as a troll is rather special because i tend to put a final say on
things, in contrast with one-liner trolls i myself despise. (In a
sense i'm a anti-troll, untroll, or a atrocious atroll.) At first i
balked at being branded a troll. Now i revel it. I as a troll is
rather recent, beginning and getting worse about in 1998. I have been
using online discussion medium since 1990. Perhaps one day i'll write
“how i became a troll”. It is bound to be a tragedy.
I'll find a day to massacre them all,
And raze their faction and their family...
—William Shakespeare, in Titus Andronicus
Gratuitous poem:
magic a scissor i wish
so sharp and so cross
so that i can chop
chop off brainless heads
i would like to swing
a giant ax swing
off with their heads
of priests and deans
evil wish i be
hatred i behold
the righteous and the main
torture with no death
befalls to them
recently i read,
mankind was not kind,
Charles Bukowski,
how i love you so.
speak truth you do,
of folks on this earth,
pettiness and conceit,
fucking asses and holes.
humble and polite,
decent and all-right,
God this, children that,
motherfucking lies.
i'm on your side,
let us make a friend,
power shall we hunger,
death to those differ.
we shall speak truths,
truths of our own kind,
just like mankind,
fuck opposing kinds.
ethics we device,
moral we indite,
praying we force,
down mankind's throats.
mankind you fuckface,
we are truth harbingers,
conform and revere,
lest God strike you down.
Xah
∑ http://xahlee.org/
☄
Don Geddis wrote:
> Of course, it has been pointed out to you EVERY TIME you bring up this
> topic again and again, that Kent (and Gabriel's) original 1988 paper
> http://www.nhplace.com/kent/Papers/Technical-Issues.html
> which invented the terms "Lisp1" and "Lisp2", discussed in detail why
> the new terminology was invented, and the benefits those terms have over
> the _previous_ labelling of "Common Lisp's model" or "Scheme Lisp's model"
> as you suggest. (Your other suggested pair are feasible, but awkward and
> not popular.)
Can you cite the chapter where the reason for the naming was explained? I
just found the definition at the beginning and it looks like "Lisp1" is
used, because there is a single namespace (that's the digit 1) and "Lisp2"
because there are two namespaces (digit 2), but no explanation why this
terminology would be better than "Common Lisp's model" or "Scheme Lisp's
model" (which is not mentioned exactly as you wrote it in the article). For
someone who doesn't know the reason for the naming it is not obvious and
using "Common Lisp's model" or "Scheme Lisp's model" would be better.
--
Frank Buss, ··@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
On Oct 13, 6:26 am, Frank Buss <····@frank-buss.de> wrote:
> Don Geddis wrote:
> > Of course, it has been pointed out to you EVERY TIME you bring up this
> > topic again and again, that Kent (and Gabriel's) original 1988 paper
> > http://www.nhplace.com/kent/Papers/Technical-Issues.html
> > which invented the terms "Lisp1" and "Lisp2", discussed in detail why
> > the new terminology was invented, and the benefits those terms have over
> > the _previous_ labelling of "Common Lisp's model" or "Scheme Lisp's model"
> > as you suggest. (Your other suggested pair are feasible, but awkward and
> > not popular.)
>
> Can you cite the chapter where the reason for the naming was explained? I
> just found the definition at the beginning and it looks like "Lisp1" is
> used, because there is a single namespace (that's the digit 1) and "Lisp2"
> because there are two namespaces (digit 2), but no explanation why this
> terminology would be better than "Common Lisp's model" or "Scheme Lisp's
> model" (which is not mentioned exactly as you wrote it in the article). For
> someone who doesn't know the reason for the naming it is not obvious and
> using "Common Lisp's model" or "Scheme Lisp's model" would be better.
Basically because there are and were lots of Lisp dialects. Many more
than just
Common Lisp and Scheme. Dialects which were Lisp1 or Lisp2 existed
before (!) and after (!) Common Lisp and Scheme. It describes a
language design issue that is independent of specific Lisp dialects.
Emacs Lisp and ISLisp are in the 'Lisp2' camp for example. Dylan,
EuLisp are
Lisp1, IIRC.
>
> --
> Frank Buss, ····@frank-buss.dehttp://www.frank-buss.de,http://www.it4-systems.de
Frank Buss <··@frank-buss.de> wrote on Mon, 13 Oct 2008:
> Don Geddis wrote:
>> Of course, it has been pointed out to you EVERY TIME you bring up this
>> topic again and again, that Kent (and Gabriel's) original 1988 paper
>> http://www.nhplace.com/kent/Papers/Technical-Issues.html
>> which invented the terms "Lisp1" and "Lisp2", discussed in detail why
>> the new terminology was invented, and the benefits those terms have over
>> the _previous_ labelling of "Common Lisp's model" or "Scheme Lisp's model"
>> as you suggest.
>
> Can you cite the chapter where the reason for the naming was explained? I
> just found the definition at the beginning and it looks like "Lisp1" is
> used, because there is a single namespace (that's the digit 1) and "Lisp2"
> because there are two namespaces (digit 2), but no explanation why this
> terminology would be better than "Common Lisp's model" or "Scheme Lisp's
> model" (which is not mentioned exactly as you wrote it in the article). For
> someone who doesn't know the reason for the naming it is not obvious and
> using "Common Lisp's model" or "Scheme Lisp's model" would be better.
You know, you're apparently correct. The paper doesn't seem to go into
detail after all about the reason for the transition. It appears that I
was conflating what I had read in the paper, with various posts Kent himself
had made on this newsgroup when describing the paper.
For example this post from Kent:
http://www.archivum.info/comp.lang.lisp/2008-07/msg00956.html
has this paragraph in the middle, which is kind of what I had in mind:
I would rush to emphasize that the origin of the Lisp1/Lisp2
distinction was to solve a problem in conversational structure,
almost etiquette, in the namespace separation debate. Gabriel and I
were co-writing a paper analyzing the differences between Lisp and
Scheme, in which he was effectively advocating Scheme-style and I was
advocating Lisp-style. I felt he was gaining an unfair advantage
debate-wise by saying "like Scheme" or "like Lisp", which caused
people to think about other things than namespaces, and to have warm
fuzzies for things that had no relevance to this debate. So I
invented the notion of a Lisp1 which was otherwise like Common Lisp
and of a Lisp2 that was otherwise like Scheme, and I wanted the terms
Lisp1 and Lisp2 to help people remember that the namespace choice
didn't get them the other features of the language. These artificial
dialectal names were chosen to insulate me from other features of the
language.
In other words, Scheme and Common Lisp have very many differences in design
choices, and so if you mean to talk about _only_ the namespace issue, and
whether you prefer something like
(defun f (list) (list list))
(defun g () #'f)
(funcall (g) '(a b c))
to something like
(defun f (lst) (list lst))
(defun g () 'f)
((g) '(a b c))
then it's far superior to use the lisp1/lisp2 terminology. For the two
reasons that:
(1) it avoids accidentally referring to all the _other_ differences between
Lisp and Scheme that you don't mean to be discussing; and
(2) it allows you to consider new languages, that don't yet exist, such as
one that makes all the Scheme design choices except that it happens to be
a lisp2 (or else, a lisp1 version of Common Lisp).
(Sorry for my incorrect pointer, suggesting that the justification was in the
original paper.)
-- Don
_______________________________________________________________________________
Don Geddis http://don.geddis.org/ ···@geddis.org
The best answer to the question, "Will computers ever be as smart as humans?"
is probably "Yes, but only briefly". -- Vernor Vinge, on the Singularity
Don Geddis <···@geddis.org> writes:
> For example this post from Kent:
> http://www.archivum.info/comp.lang.lisp/2008-07/msg00956.html
> has this paragraph in the middle, which is kind of what I had in mind:
>
> I would rush to emphasize that the origin of the Lisp1/Lisp2
> distinction was to solve a problem in conversational structure,
> almost etiquette, in the namespace separation debate. Gabriel and I
> were co-writing a paper analyzing the differences between Lisp and
> Scheme, in which he was effectively advocating Scheme-style and I was
> advocating Lisp-style. I felt he was gaining an unfair advantage
> debate-wise by saying "like Scheme" or "like Lisp", which caused
> people to think about other things than namespaces, and to have warm
> fuzzies for things that had no relevance to this debate. So I
> invented the notion of a Lisp1 which was otherwise like Common Lisp
> and of a Lisp2 that was otherwise like Scheme, and I wanted the terms
> Lisp1 and Lisp2 to help people remember that the namespace choice
> didn't get them the other features of the language. These artificial
> dialectal names were chosen to insulate me from other features of the
> language.
>
but note that here the definitions of Lisp1 and Lisp2 are opposite those from
the Gabriel/pitman paper. Must be a print error.
Johan Ur Riise <·····@riise-data.no> wrote on Tue, 14 Oct 2008:
> Don Geddis <···@geddis.org> writes:
>> For example this post from Kent:
>> http://www.archivum.info/comp.lang.lisp/2008-07/msg00956.html
>> has this paragraph in the middle, which is kind of what I had in mind:
>> I would rush to emphasize that the origin of the Lisp1/Lisp2
>> distinction was to solve a problem in conversational structure,
>> almost etiquette, in the namespace separation debate. Gabriel and
>> I were co-writing a paper analyzing the differences between Lisp
>> and Scheme, in which he was effectively advocating Scheme-style
>> and I was advocating Lisp-style. I felt he was gaining an unfair
>> advantage debate-wise by saying "like Scheme" or "like Lisp",
>> which caused people to think about other things than namespaces,
>> and to have warm fuzzies for things that had no relevance to this
>> debate. So I invented the notion of a Lisp1 which was otherwise
>> like Common Lisp and of a Lisp2 that was otherwise like Scheme,
>> and I wanted the terms Lisp1 and Lisp2 to help people remember
>> that the namespace choice didn't get them the other features of
>> the language. These artificial dialectal names were chosen to
>> insulate me from other features of the language.
>>
>
> but note that here the definitions of Lisp1 and Lisp2 are opposite those
> from the Gabriel/pitman paper. Must be a print error.
Not at all. In the quoted paragraph, Kent isn't defining the terms. They
have the usual definition.
Kent is merely noting that one of the major benefits of using those
particular terms, is that it is easy to _imagine_ a new language (which has
never existed), that is like Common Lisp in every way with the single
exception that it is a Lisp1 (instead of a Lisp2, like the real CL). And
similarly a new kind of Scheme except as a Lisp2 (instead of the Lisp1 of the
real Scheme).
-- Don
_______________________________________________________________________________
Don Geddis http://don.geddis.org/ ···@geddis.org
"You got Schadenfreude on my Weltanschauung!"
"You got Weltanschauung in my Schadenfreude!"
-- R H Draney, rec.aquaria.marine.reefs
On Oct 11, 2:32 pm, Don Geddis <····@geddis.org> wrote:
> ·······@gmail.com" <······@gmail.com> wrote on Wed, 8 Oct 2008 :
>
> >Xah wrote:
> > Why You should Not Use The Jargon Lisp1 and Lisp2
>
> > Kent wrote:
> >> This suggestion is not a constructive one because it offers no useful
> >> substitution.
>
> > I did suggest a alternative in my essay.
> > I would say Common Lisp's model or Scheme Lisp's model, or, use a
> > communicative term like multi-meaning-space and single-meaning-space.
>
> Of course, it has been pointed out to you EVERY TIME you bring up this
> topic again and again, that Kent (and Gabriel's) original 1988 paper
> http://www.nhplace.com/kent/Papers/Technical-Issues.html
Don,
It's a good idea to at least scan the article in question before
pitching in your sensibilities and prejudices.
• Why You should Not Use The Jargon Lisp1 and Lisp2
http://xahlee.org/emacs/lisp1_vs_lisp2.html
Check the bottom.
Xah
∑ http://xahlee.org/
☄
·······@gmail.com" <······@gmail.com> wrote on Mon, 13 Oct 2008:
> It's a good idea to at least scan the article in question before
> pitching in your sensibilities and prejudices.
> Why You should Not Use The Jargon Lisp1 and Lisp2
> http://xahlee.org/emacs/lisp1_vs_lisp2.html
> Check the bottom.
I see you have a "FAQ", and you mention that the terms were invented
for a purpose. However, your "answer" doesn't address the actual original
purpose.
You merely state that it happened a long time ago, and that nobody is going
to change Common Lisp or Scheme at this point. Both those things are true,
but irrelevant. For example, the issues still come up when someone (like
Paul Graham) creates a new Lisp (like Arc). Or even when people want to
discuss how Scheme and CL differ in this one aspect, without accidentally
bringing in all the many other ways that they also differ.
For your benefit, I'll repeat the (one of many) quotes from Kent Pitman
explaining the origin of the terms:
I would rush to emphasize that the origin of the Lisp1/Lisp2
distinction was to solve a problem in conversational structure,
almost etiquette, in the namespace separation debate. Gabriel and I
were co-writing a paper analyzing the differences between Lisp and
Scheme, in which he was effectively advocating Scheme-style and I was
advocating Lisp-style. I felt he was gaining an unfair advantage
debate-wise by saying "like Scheme" or "like Lisp", which caused
people to think about other things than namespaces, and to have warm
fuzzies for things that had no relevance to this debate. So I
invented the notion of a Lisp1 which was otherwise like Common Lisp
and of a Lisp2 that was otherwise like Scheme, and I wanted the terms
Lisp1 and Lisp2 to help people remember that the namespace choice
didn't get them the other features of the language. These artificial
dialectal names were chosen to insulate me from other features of the
language.
Your essay about terminology shows no understanding of the issues motivating
the original creation of the terms, and as a consequence your suggestions
offer no benefit to those who realize that those issues still exist.
-- Don
_______________________________________________________________________________
Don Geddis http://don.geddis.org/ ···@geddis.org
The dumber people think you are, the more surprised they're going to be when
you kill them. -- William Clayton
Dear Don moron,
Xah wrote:
«
Why You should Not Use The Jargon Lisp1 and Lisp2
http://xahlee.org/emacs/lisp1_vs_lisp2.html
Check the bottom.
It's a good idea to at least scan the article in question before
pitching in your sensibilities and prejudices.
»
Don Geddis moron wrote:
> I see you have a "FAQ",
My previous post to u, was answer to your accusation about me not
aware of Kent's article.
> and you mention that the terms were invented
> for a purpose. However, your "answer" doesn't address the actual original
> purpose.
>
> You merely state that it happened a long time ago, and that nobody is going
> to change Common Lisp or Scheme at this point. Both those things are true,
> but irrelevant. For example, the issues still come up when someone (like
> Paul Graham) creates a new Lisp (like Arc). Or even when people want to
> discuss how Scheme and CL differ in this one aspect, without accidentally
> bringing in all the many other ways that they also differ.
>
> For your benefit, I'll repeat the (one of many) quotes from Kent Pitman
> explaining the origin of the terms:
>
> I would rush to emphasize that the origin of the Lisp1/Lisp2
> distinction was to solve a problem in conversational structure,
> almost etiquette, in the namespace separation debate. Gabriel and I
> were co-writing a paper analyzing the differences between Lisp and
> Scheme, in which he was effectively advocating Scheme-style and I was
> advocating Lisp-style. I felt he was gaining an unfair advantage
> debate-wise by saying "like Scheme" or "like Lisp", which caused
> people to think about other things than namespaces, and to have warm
> fuzzies for things that had no relevance to this debate. So I
> invented the notion of a Lisp1 which was otherwise like Common Lisp
> and of a Lisp2 that was otherwise like Scheme, and I wanted the terms
> Lisp1 and Lisp2 to help people remember that the namespace choice
> didn't get them the other features of the language. These artificial
> dialectal names were chosen to insulate me from other features of the
> language.
>
> Your essay about terminology shows no understanding of the issues motivating
> the original creation of the terms, and as a consequence your suggestions
> offer no benefit to those who realize that those issues still exist.
This is answered in the FAQ section.
Xah
∑ http://xahlee.org/
☄
·······@gmail.com" <······@gmail.com> wrote on Tue, 14 Oct 2008:
> Dear Don moron
Sorry, couldn't get past this first line. Not sure if you wrote anything
else later. If you want me to respond to something, perhaps you could
repost it (more politely).
_______________________________________________________________________________
Don Geddis http://don.geddis.org/ ···@geddis.org
Sometimes you don't realize how much you have until you see that someone else
wants it. -- Deep Thoughts, by Jack Handey [1999]
On Oct 16, 5:05 pm, Don Geddis <····@geddis.org> wrote:
> ·······@gmail.com" <······@gmail.com> wrote on Tue, 14 Oct 2008:
>
> > Dear Don moron
>
> Sorry, couldn't get past this first line. Not sure if you wrote anything
> else later. If you want me to respond to something, perhaps you could
> repost it (more politely).
If you want to remain a sneering attitude yet want me to give you good
info with all politness, you need to pay me.
The relevant articles are:
(Knowledge + Love) / Disrespectfulness
http://xahlee.org/Netiquette_dir/disrespectfulness.html
Criticism versus Constructive Criticism
http://xahlee.org/UnixResource_dir/writ/criticism.html
Xah
∑ http://xahlee.org/
☄
·······@gmail.com" <······@gmail.com> wrote on Sat, 18 Oct 2008:
> If you [...] want me to give you good info with all politness, you need to
> pay me.
Oh, but I've never once seen any "good info" from you, in all the years
you've been posting. Why would I ever pay you, when you're unable to meet
your end of the bargain?
_______________________________________________________________________________
Don Geddis http://don.geddis.org/ ···@geddis.org
This was a triumph. I'm making a note here: HUGE SUCCESS!
-- "Still Alive", Portal
Don Geddis <···@geddis.org> writes:
> ·······@gmail.com" <······@gmail.com> wrote on Mon, 13 Oct 2008:
>> It's a good idea to at least scan the article in question before
>> pitching in your sensibilities and prejudices.
>> Why You should Not Use The Jargon Lisp1 and Lisp2
>> http://xahlee.org/emacs/lisp1_vs_lisp2.html
Xah, you should at least have the decency of waiting the death of
people having made history before trying to rewrite it.
Come back in 50 years, you may have a chance to have people believe
you.
> For your benefit, I'll repeat the (one of many) quotes from Kent Pitman
> explaining the origin of the terms:
>
> I would rush to emphasize that the origin of the Lisp1/Lisp2
> distinction was to solve a problem in conversational structure,
> almost etiquette, in the namespace separation debate. Gabriel and I
> were co-writing a paper analyzing the differences between Lisp and
> Scheme, in which he was effectively advocating Scheme-style and I was
> advocating Lisp-style. I felt he was gaining an unfair advantage
> debate-wise by saying "like Scheme" or "like Lisp", which caused
> people to think about other things than namespaces, and to have warm
> fuzzies for things that had no relevance to this debate. So I
> invented the notion of a Lisp1 which was otherwise like Common Lisp
> and of a Lisp2 that was otherwise like Scheme, and I wanted the terms
> Lisp1 and Lisp2 to help people remember that the namespace choice
> didn't get them the other features of the language. These artificial
> dialectal names were chosen to insulate me from other features of the
> language.
>
> Your essay about terminology shows no understanding of the issues motivating
> the original creation of the terms, and as a consequence your suggestions
> offer no benefit to those who realize that those issues still exist.
>
> -- Don
--
__Pascal Bourguignon__
Here's a article i wrote concerning the jargon Lisp1 and Lisp2.
I think i might have posted to comp.lang.scheme before, but this week
there's more discussion about it in comp.lang.lisp, and i added a 900
words FAQ section.
The full article is here:
• Why You should Not Use The Jargon Lisp1 and Lisp2
http://xahlee.org/emacs/lisp1_vs_lisp2.html
plain text version follows:
-----------------------------------------------
Why You should Not Use The Jargon Lisp1 and Lisp2
Xah Lee, 2008-01-10
Someone (·········@gmx.net) wrote:
Having read Touretzky's introduction and the first half of Paul
Graham's On Lisp↗, I'm wondering what the advantages of a Lisp-2 are
over a Lisp-1
It seems to me that a Lisp-2's ability to use a single symbol to
represent both a function and a value is a minor advantage, although
I'm sure some regard it as a disadvantage. On the other hand, a Lisp-2
requires the clunky, IMHO, #' operator and cannot have a elegant,
universal DEFINE like Scheme's.
Yet I've heard that a Lisp-1's macros are necessarily less
powerful than those of a Lisp-2. Is that true? Are there some other
big advantages of a Lisp-2 that I'm missing?
-----------------
Please try to avoid the jargons lisp1 and lisp2.
Recently i have just wrote a longish essay on the harm of jargons in
functional languages. (See: Jargons And High Level Languages)
The jargon lisp1 and lisp2 is one of better example that illustrate
the issue.
• The jargon is opaque. The words do not convey its meaning.
• Being a opaque jargon, it is often used subconsciously by people in
a group, to communicate that they are in-group. (a class-
differentiation strategy of human animals; as is much of slang↗'s
purpose) And consequently, these jargons are thrown about often
without the writers actually understanding, or wishing to discuss
about it in any way.
Further, this issue is relatively minor, having little real-world
practical impact. It is not unlike a war about which end of egg one
should crack. (i.e. big endian vs little endian; See: Gulliver's
Travels. PART I — A VOYAGE TO LILLIPUT, Chapter 4)
Why is this issue minor? Consider it broadly in human animal's
computing activities. I give 2 examples:
Consider that in the 1960 people went to moon. (Moon landing↗) Imagine
what complexities involved in the physics, mathematics, computation,
at a time when computer are some one thousand times slower than today,
using punch-cards, and there are not much computer languages, not even
modular programing.
For another example, consider today's PHP language. Linguistically, it
is one of the most badly designed language, with many inconsistencies,
WITH NO NAMESPACE MECHANISM, yet, it is so widely used that it is in
fact one of the top 5 most deployed languages. If one of PHP or lisps
and all associated applications written in them is to suddenly
disappear from the face of this earth as a catastrophic punishment
from Zeus, and all the leaders of nations is to have experts to assess
the damage as they do with natural disasters, it is probable that PHP
would be a order of magnitude greater loss.
Now, suppose we narrow the scope of “lisp1 vs lisp2” to its context:
computer language design. There are many issues in language design.
For example: dynamic scope vs lexical variable scope, various models
of typing systems (dynamic, static, variable/value based, algebraic
types, no types, with or without inference system), computing paradigm
(OOP, Functional, procedural, pattern matching, database), evaluation
model (greedy vs lazy) ... etc. Among all language design issues, the
“lisp1” vs “lisp2” is really one of the least significant, which
actually arise practically only in Lisp due to its peculiar concept of
its “symbols”.
The existence of a name to a concept or idea, especially a opaque
jargon, tends to get people to throw the name and argue about it
unnecessarily.
To people in the lisp communities, please stop using the term. If
necessary, say Common Lisp's model or Scheme Lisp's model, or, use a
communicative term like multi-meaning-space and single-meaning-space.
--------------------------------------------------
THE “WHY” OF “MULTI-MEANING-SPACE”
Now, in the following, i wish to discuss some associated issue. In
particular, thoughts on how multi-meaning-space came about.
There's a curious question. Why is the “lisp1 vs lisp2” happens only
in lisp, and we don't have “perl1 vs perl2”, “java1 vs java2”, “ML1 vs
ML2”, or any language with a variation on this?
This has to do with the concept of lisp's symbol, which doesn't exist
in other languages (notably except Mathematica).
Now, a further question is then, why Common Lisp's symbol of a
particular name can have multiple meanings? (That is, a name in CL can
both be a variable and a function in the same block of code at the
same time. (This peculiar fact, we might give it a professional
terminology for ease of communication, and we might call it: Common
Lisp's multi-meaning-space, or just multi-meaning-space, meaning-
space.))
Now, the question is, why do Lisps before Common Lisp have this multi-
meaning-space feature?
I do not know much about the technical aspects of Lisp's history.
However, i can venture a educated guess.
Old Lisps's multi-meaning-space feature, just like so many of its
features (cons, sort destroying its variable, and semi-regular syntax
using nested parens, etc), is simply designed as is without
necessarily explicit, important, rationales. In other words, it is
probably a characteristic that happens to be convenient, easy to
implement, or not thought about at the time, or simply went one way
than the other. (as opposed to, prominent issues that calls for
conscious, explicit, decisions with important ramifications, such as
syntax (sexp), symbols system, evaluation model, ...etc.)
Now, as i mentioned before, this (single/multi)-meaning-space issue,
with respect to human animal's computing activities, or with respect
to the set of computer design decisions, is one of the trivial, having
almost no practical impact. And, because some human animals, in the
history of their power struggle, is produced the byproduct of the
jargons “lisp1” and “lisp2”. And due to the fact that which end of egg
to crack is now blessed with a terminology that has all the
countenance of impartiality, it furnishes and fuels countless
arguments and fightings on this non-issue between the Scheme Lisp and
Common Lisp factions, even when the origin of the power struggle on
this particular issue (the Common Lisp Standard) has long died. (more
specifically, every few months the issue will rise up in
comp.lang.lisp or comp.lang.scheme, with all colors and types of
activities from sincere to trite to re-examination to political
struggle to pacification.)
Note: for the technical details of the Common Lisp's meaning-space,
and the origin of the jargons “lisp1” and “lisp2”, see: Technical
Issues of Separation in Function Cells and Value Cells↗, by Richard P
Gabriel, Kent M Pitman, 1988.
--------------------------------------------------
FAQ, AND THE MEANING OF NAME SPACE
Xah Lee, 2008-10
Q: The terms “Lisp-1” and “Lisp-2” were invented to expressly *avoid*
mentioning Common Lisp or Scheme, therefore we shouldn't use the terms
such as Common Lisp model or Scheme model to describe it.
A: The creation of these terms is in a context of a political
struggle. Namely, in creating the Common Lisp standard, Kent Pitmant
has tirelessly and repeatedly pointed out in the past decade here.
As i mentioned in the article, the political context for the birth of
lisp1/lisp2 is over, about 2 decades ago.
Except when discussing history, there's no need to stick with the
jargon lisp1 and lisp2.
If fact, i argued, if not for so much of the colorful jargon “lisp1/
lisp2”, the issue wouldn't even be much noticeable as it is relatively
unimportant. Common Lisp today is multi-meaning-space, and Scheme Lisp
is single-meaning-space. That's just a language fact and there's not
much one can do or want to do much about that in practice.
Also, another point Kent has mentioned is that people in the community
naturally picked up these term. Actually, in my opinion, the
popularity and continued use of these terms has much to do with Kent's
promotion. In the past decade in “comp.lang.lisp”, he constantly
reminds people of his article, and even explicitly requests others to
use the terms Lisp1 and Lisp2, as opposed to other terms people used
when discussing this issue, such as “Common Lisp way” or “Scheme way”.
Q: Lisp does not use the term “name space” differently from other
languages. The meaning is the same, only the implementation details
are different.
A: Namespace↗ are the spaces for names. For example, you might have a
variable/subroutine/function/class named “CreateSound”, but this could
be just defined in your file, or it could be imported from a package/
module/library, or another package/module/library could also have such
a entity called “CreateSound”. This is when the name space concept
came from. For those curious, the “space” part of the terminology came
from mathematics, e.g. vector space, topological space. It effectively
means a “set”. The reason that “space” and “set” are often synonymous
is due to the study of geometry.
The name space concept is tightly connected with the language's
library/package/module system. In emacs lisp and PHP↗, for examples,
the language actually do not have a name space mechanism, so that you
have to create unique names for every function/var you write. (PHP
v5.3 (2008-10) introduced name space mechanism but isn't in common use
yet) In most other langs (e.g. Perl, Python, Mathematica), there are
name space mechanisms, so that you could call a function in some
library using full path, or that you could call that function without
full path by “importing” the function's name into your current file's
name space. However, this still does not solve the problem of unique
naming. That is, someone could write a library named Sound with a
function named CreateSound, but someone else could also have written a
library and function of exactly the same name. So, when 2 programs use
CreateSound, even though their source code may be identical, they
might behave very differently. (this is a problem for example in
emacs, where lots of people have written a module named xyz-mode (e.g.
Javascript-mode), competing for the same name xyz-mode, or else using
creative and less intuitive names to avoid name conflicts (e.g.
javascript-mode vs js-mode vs js2-mode, xml mode vs nxml mode, perl
mode vs cperl mode, ... etc.))
Java solved the uniqueness problem by adopting the domain name system↗
for library names, as a convention. So, if Joe writes a package, by
convention he should name his package something like “com.joe-
bloke.sound”. This domain name system has been adapted in few other
language systems too (e.g. XML namespace↗).
With regards to lisp, in emacs lisp for example, the lack of name
space is a major problem, and is also a major problem of Scheme Lisp
( Scheme Lisp spec 6↗ tried to fix this problem but not without huge
controversy of the design). And as far as i understand from hearsay of
gossips here, it is also a major problem for Common Lisp.
The above is a brief introduction on the concept of name space as it
is used, and some of its issues.
Now, the jargon lisp1 and lisp2 refers to a concept entirely different
from name space. It has to do with what lisp calls a symbol's
“function cell” or “value cell” (note: as is given by Kent's article
title “Technical Issues of Separation in Function Cells and Value
Cells”). What these function cell and value cell basically means the
value of lisp language's var/function/subroutine/class. (Note: var/
function/subroutine/class are typically called a “name” in computer
languages but in lisp is called “symbol”.) The “function cell” and
“value cell” is effectively a “meaning space” (or “value space”).
Xah
∑ http://xahlee.org/
☄