2009-06-08

lisp1 vs lisp2

2009-06-07

Dear Kent,

I'll reply freely and non-systimatically to some of your points. Just to be sure, this is newsgroup, what i say here is not meant to be some formal conference on humanity's problems, and that applies to you too, despite your more careful and polite and voluable writing style.

i started to have composed some 500 words tot-for-tat style to your reply, to be sure, free of politensess and great, but to cut the chase ... just move on!

lisp1 vs lisp2 is not good. It's old shit. Forever getting people to live in the old days of your lisp vs my lisp fight, in fact, not much different from fights among today's major lang groups.

i don't see Common Lisp or Scheme Lisp ever will see the light of the day again. If there's any hope, that'd be New Lisp and Clojure. Even these, in today's one thousand and one hot functional langs the likes of Ocmal, f#, Mathematica, Haskell, erlang, Oz... lisp's user base is not likely to grow. I'd like to think emacs lisp, with its sizable user base, might have a glint of hope, but not while the Richard Stallman old hat still running the show, with a gaggle of his new apostles and apprentices. I'd be thankful if emacs does not languish too much in the coming years.

• Will Lisp Ever Be Popular?
http://xahlee.org/UnixResource_dir/writ/lisp_be_popular.html

• Proliferation of Computing Languages
http://xahlee.org/UnixResource_dir/writ/new_langs.html

lisp1 vs lisp2 are warts. The lisp community has lots of warts, such as macros differences, and tail recursion fuck, small vs big, loop vs recursion, of fucking no practical matter. It is like a ritual. Every new lisper have to discuss these issues at some point, input their colors into the mix, as if the word elegance depends on it.

Sure, you go on and write your elaborate writes and jolt youngster's attention to history. I'll go on with my campaign on the beauty of Xah Lee and importance of terminology. No hard feelings. At least, the those who code in Common Lisp, appreciate the technicalities in your writings.

• The Importance of Terminology's Quality In Computer Languages
http://xahlee.org/UnixResource_dir/writ/naming_functions.html

Xah
∑ http://xahlee.org/





2009-06-07

On Jun 6, 7:47 pm, pit...@nhplace.com wrote:
On Jun 6, 4:28 am, Xah Lee wrote:

> Why You should Not Use The Jargon Lisp1 and Lisp2

Xah, I agree with you on a number of your points but not on your lead-
in. You could build your case better if you didn't go after this.

There's no real harm done by these terms and your campaign to get rid
of them loses audience for you because it seems both mean-spirited and
pointless. I wish you would spend more time paying attention to the
reasons people do and don't resonate to your ideas because it would
get you further in the places where you have something to say.

> • The jargon is opaque. The words do not convey its meaning.

All jargon is opaque if you stare at it too closely. Most words mean
what they mean just because we are told what they mean. The terms
Lisp1 and Lisp2, which I created, are not widely used because I
published a manifesto for their use, they are widely used because they
seemed to name a concept that had no name and they made it possible to
talk succinctly about something that people wanted to talk about a
lot.

Even if you succeeded in getting generic terms "multi-meaning space"
or something, the problem is that language naturally seeks to shorten
words that are used a lot, and after a short time you'd hear it called
multimspa or something and perhaps later just multims and so on.
Lisp1 and Lisp2 have the virtue of being only two syllables and this
is as important or moreso than the quality of opacity.

> • Being a opaque jargon, it is often used subconsciously by people in
> a group, to communicate that they are in-group.

This is probably a useful criticism in a few cases but I don't think
dominant. The sad truth is that even if a person who had no idea
about the concept heard a discussion on this, they'd probably still
have to ask questions to learn the detailed meaning of the
discussion. The foreign-ness of the terms actually invite that
conversation because no one should feel ashamed not to know an
acronym, but if the terms are very generic, one might think it showed
lack of creativity or language knowledge and might not ask. So it
could work just the opposite of what you say.

> 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, ...> Now, suppose we narrow the scope of
> “lisp1 vs lisp2” to its context: ...

If what you're gettng to is that people need words like PHP1 and PHP2
in order to discuss these others and wouldn't if there were a more
generic term, then this criticism is valid. However, it is pointless
and bossy to suggest other people need to use a different term in
order for you to have a good term here. Invent and promote your own
better term and just try to get people to use it (affirmatively);
don't try to stop them from using the other term. People are more
receptive to positive promotion than negative in some situations.

> 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.
> Also, another point Kent has mentioned is that people in the community
> naturally picked up these terms. Actually, in my opinion, the
> popularity and continued use of these terms has much to do with Kent's
> promotion.

I was as surprised as anyone to see people using them outside the
context of my paper. It would never have occurred to me to promote
them originally. However, the issue comes up a lot and I do find it
helpful. I don't think that you can really say, though, that I spend
my days at some campaign headquarters strategizing a promotion. And
if your criticism comes down to the idea that I should never involve
myself in a discussion on the matter using terms I created for the
express purpose of that discussion, that seems a bit restrictive.

If any of your ideas ever stick, even multi-meanin-space, which I will
not begrudge you if you can get people to use it, you're not going to
want to be accused of it succeeding merely because you promoted it.

> 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”.

The reason the term was invented was because Scheme seems to claim a
lock on aesthetics, claiming CL has none. I disagree with that, but it
creates a "warm fuzzy" feeling in the heart of people that biases
their opinions on specifics. The extreme case of this was that once I
was in an ISLISP meeting with someone (I'll decline to embarrass that
person by saying who--it doesn't really matter) and I asked that a
particular definition be taken from CL to ISLISP. No, they said,
because it came from CL and would make ISLISP big and bloated like
CL. No, I said, it would make ISLISP only changed by adding this one
remark. But they said no merely because of the source. I've seen
less extreme cases of that, but my point is that it does happen that
people stop listening when you talk CL (and others stop listening when
you talk Scheme) so it's easier to be neutral and Lisp1 and Lisp2 are
not the official canonical unique only way to be neutral, they're just
possible ways of being. I promote them because they're handy.

This is one of those things like CAR/CDR where I don't really like
those names either. They're not evocative. But no better names have
been advanced that have the uses CAR/CDR does e.g., for composing
CADDR etc. The names LHS/RHS come very close because LRRLHS is
conceivable. But it isn't as pronounceable even in English and is
even less pronounceable for people who have difficulty in an
international community who come from languages that blur the L and R
sound. So I accept criticism for CAR/CDR but still use them. That's
kind of how I use LISP1/LISP2.

Another argument you don't raise is the confusion with Lisp 1 (early
Lisp version, predating Lisp 1.5) and confusion with 1LISP, 2LISP, and
3LISP (Brian Smith's dialectal variants building up to a proper
reflective tower). I wish more people knew of Brian Smith's work
because it's cool, but since they don't, that name collision isn't
very important either.

You further don't seem to treat the fact that CL is really a Lisp4 (at
least) and so the name LISP2 is a problem in that regard. There is
also a term I created in subsequent discussion which is Lisp-Omega,
that talks about a Lisp with arbitrary user-definable namespaces.
There is no implemented Lisp-Omega, but there could be. Still the
distinction between finite-dimension and infinite-dimension is
critical because the formal semantics people tell me that a Lisp-Omega
would have a much smaller formal semantics than a Lisp2 or LispN for
any finite N > 1.

You have also blurred the distinction between modules and packages.
They could co-reside and are not conceptually in conflict. Lisp
packages are not modules and so some of the remarks you make in regard
to that make no sense to me. Packages are a syntactic-token-
resolution-time notion and Modules are a lexical analysis time tool.
To some extent, packages assure a unique name across designers/code-
writers, not across programmatic elements. Modules are more concerned
with some other division among code. The concepts are more akin to
the temporal division between read-time, macro expansion time, etc.
Treating read-time and macro-expansion time in a blurry fashion as if
they were the same thing, as some languages do, omits the opportunity
to give texture and names and semantics to both concepts. So, too,
blurring packages and modules.

I hope my remarks are seen as constructive and non-defensive, Xah. A
lot of people seem to rush to my defense when you post, but I'm not
really bothered by posts such as this, which are constructively worded
and seem to have a fair amount of interesting points to be made. I
marked your post 4 stars in Google to acknowledge that this was an
above-average post by you and in the form I'd like to see more of. I
do disagree with you on some technical matters, but then we live in a
plural society and there's no reason my opinion even has to be right.

Mostly I thought it of interest that I don't 100% disagree with you.
There is in fact some overlap of opinion, we just don't agree on
everything.

No comments:

Post a Comment