the jargon lisp1 vs lisp2 [was: function aliasing]

This is a discussion on the jargon lisp1 vs lisp2 [was: function aliasing] within the Scheme forums in Programming Languages category; Kent M Pitman wrote: > ... > The notation matters are attributes of the Lisp1/Lisp2 issue, but the > performance behavior of this is not... except that a caller of > make-card compiled separately in CL with no knowledge of what's in the > cell can reliably jump to the function cell contents feeling assured > that it's a function in there whereas making that work in Scheme > involves secretly being a Lisp2 and not telling anyone because if you > really and truly implement aLisp1in the obvious way, a separately > compiled module can't just jump to a ...

Go Back   Application Development Forum > Programming Languages > Scheme

Object Mix

Register FAQ Calendar Search Today's Posts Mark Forums Read
  #1  
Old 09-02-2008, 09:13 AM
xahlee@gmail.com
Guest
 
Default the jargon lisp1 vs lisp2 [was: function aliasing]

Kent M Pitman wrote:
> ...
> The notation matters are attributes of the Lisp1/Lisp2 issue, but the
> performance behavior of this is not... except that a caller of
> make-card compiled separately in CL with no knowledge of what's in the
> cell can reliably jump to the function cell contents feeling assured
> that it's a function in there whereas making that work in Scheme
> involves secretly being a Lisp2 and not telling anyone because if you
> really and truly implement aLisp1in the obvious way, a separately
> compiled module can't just jump to a variable's contents since it
> might not contain a function. So the theoretical performance issue is
> actually the reverse of what you suggest, Pascal... or so it seems to
> me.


I have in the past wrote a article on the harm of the jargon lisp 1
and lisp 2.

For the general readers in lisp groups, please see:

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

[The following is originally posted as a reply in comp.lang.lisp about
“Lisp-1” vs “Lisp-2”.]

Someone (Propon...@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, it is my opinion, this issue is very 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 the much greater loss.

Now, suppose we narrow the scope of “lisp1 vs lisp2” to itscontext:
computer language design. There are many issues in language design.
For example: dynamic scope vs lexical scope, various models of typing
systems (dynamic, static, variable/value based, algebraic types, no
types, with or without inference system), computing model (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”, “java1vs 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 thefact 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 RichardP
Gabriel, Kent M Pitman, 1988.

--------------------------------

Xah
http://xahlee.org/


Reply With Quote
  #2  
Old 09-02-2008, 04:51 PM
verec
Guest
 
Default Re: the jargon lisp1 vs lisp2 [was: function aliasing]

On 2008-09-02 14:13:14 +0100, "xahlee@gmail.com" <xahlee@gmail.com> said:

> I have in the past wrote a article on the harm of the jargon lisp 1
> and lisp 2.


Please, Xah for the respect of your readers, try to use a correct
English. This mistake ("wrote" instead of "written") is recurrent
in your postings, and I am far more a foreigner than you are. Also
"An" as in "an article" wouldn't hurt either :-)
--
JFB

Reply With Quote
  #3  
Old 09-02-2008, 06:22 PM
xahlee@gmail.com
Guest
 
Default Re: the jargon lisp1 vs lisp2 [was: function aliasing]

On Sep 2, 1:51 pm, verec <ve...@mac.com> wrote:
> On 2008-09-02 14:13:14 +0100, "xah...@gmail.com" <xah...@gmail.com> said:
>
> > I have in the past wrote a article on the harm of the jargon lisp 1
> > and lisp 2.

>
> Please,Xah for the respect of your readers, try to use a correct
> English. This mistake ("wrote" instead of "written") is recurrent
> in your postings,


O! Thanks for alerting me to that. I actually didn't notice i had it
wrong.

> ... Also
> "An" as in "an article" wouldn't hurt either :-)


For this, see:

To An or Not To An
http://xahlee.org/Periodic_dosage_dir/bangu/an.html

Plain text version follows:

-------------------------------
To An or Not To An
Xah Lee, 2004-07

As most of you know, there are canons about when to use “an” to
supplant the “a” article. The rule is simplistic, but not simple. For
example, a uninitiated foreigner might think that as long as the word
begin with one of the vowel letters a e i o u, then stick with “an”
instead “a”, but, to foreigner's chagrin, this is not so. For example,
an hour, a unit, are the correctly prescribed forms. As a consequence,
the matter gets hairy, and has often confounded me as a matter of
practice. To which i have concocted a plan from two principles: (1) to
hell with it. (2) a scheme to thwart grammarians and their presence in
society.

Of the two, (1) is out of pragmatism. For, often i do not have a good
time in figuring out which is right despite my intelligence. (because,
there are complications, for example, in front of acronyms (e.g. “an
FAQ” or “a FAQ”), and other times the pronunciationis not universal
regarding whether the word begins with a vowel sound.) Therefore, i
thought by simply sticking with “a” always, is a way towards efficient
communication, with, the consideration of time spent by the composer
as well as his readership. Of the second reason (2), is a plan i had
for a while, of which i think i have alluded to here and there in this
forum in the past. This is a scheme i devised to check the harms done
by the army of academicians and grammarians, to cause them headaches
and pain as they have caused me and the populace.

Although my simple plan of sticking with “a” is sound, but i do find
problems with it. Because, sometimes, if i post a short sentence
involving the article (e.g. “Here's a article on xyz.”), people might
get the idea that i'm rather cloddish because i used the incorrect
form of the article, and thus perhaps forego of checking out xyz i
wanted them to see. Thus is my dilemma that i'm bringing attention
here. To this dilemma, i have also devised plans against it. I haven't
had it down precisely, but roughly the principles are:

(A) if posting/publishing just a short sentence involving the said
article that is traditionally to be a “an”, then use “an”. (therefore
giving a indication that i'm rather educated)

(B) when publishing a long article or essay, stick with “a”
throughout.

(C) if the context or article is serious, then stick with the
canonical form. (as to avoid association with insincerity, or
divisiveness. e.g. when writing a love letter to a girl i really want)

As you can see, my second-tier principles are also sound, and does
resolve my dilemma that resulted from my first-tier principles on the
whole. However, one may not notice that this system is getting a bit
involved. As, often i have to think about what are my audiences, their
level of English proficiency, or the purpose or context of my
composition, and whether if it is a single sentence that might expand
to a essay later. The one most serious complication is that if for
example, in a forum where i post multiple messages over time, some
with just a single sentence that involved a “an”, then i may appear
inconsistent, as if “a” and “an” are chosenat random. (not even
considering the occurrences where i simply made unintended typos of
“an” and “a”)

So at the end, frankly, i think in my writings it is this
inconsistency one will find throughout, especially of folks who have
read many of my articles but not sufficiently a lot to know that i
have some systemic beefs with English, and consequently deem me a rube
with regards to the fine points of English. I really do hate it. What
do you think of it?

Convenient Wikipedia link: A and an↗.

Xah
http://xahlee.org/


Reply With Quote
  #4  
Old 09-03-2008, 04:42 AM
John Thingstad
Guest
 
Default Re: the jargon lisp1 vs lisp2 [was: function aliasing]

P Tue, 02 Sep 2008 15:13:14 +0200, skrev xahlee@gmail.com
<xahlee@gmail.com>:

multi-meaning indicates that there is some form of ambiguity going on here.
To be more precise perhaps context-free-symbols and
context-sensitive-symbols would be more accurate?

--------------
John Thingstad
Reply With Quote
  #5  
Old 09-03-2008, 04:54 AM
John Thingstad
Guest
 
Default Re: the jargon lisp1 vs lisp2 [was: function aliasing]

P Wed, 03 Sep 2008 10:42:16 +0200, skrev John Thingstad
<jpthing@online.no>:

> P Tue, 02 Sep 2008 15:13:14 +0200, skrev xahlee@gmail.com
> <xahlee@gmail.com>:
>
> multi-meaning indicates that there is some form of ambiguity going on
> here.
> To be more precise perhaps context-free-symbols and
> context-sensitive-symbols would be more accurate?


To be more precise perhaps context-free-symbols and
context-sensitive-symbols would be more BETTER?
Sorry about the imprecision

--------------
John Thingstad
Reply With Quote
  #6  
Old 09-04-2008, 06:50 AM
Benjamin L. Russell
Guest
 
Default Re: the jargon lisp1 vs lisp2 [was: function aliasing]

On Tue, 2 Sep 2008 15:22:31 -0700 (PDT), "xahlee@gmail.com"
<xahlee@gmail.com> wrote:

>On Sep 2, 1:51 pm, verec <ve...@mac.com> wrote:
>> On 2008-09-02 14:13:14 +0100, "xah...@gmail.com" <xah...@gmail.com> said:
>>
>>[...]
>>
>> ... Also
>> "An" as in "an article" wouldn't hurt either :-)

>
>For this, see:
>
>To An or Not To An
>http://xahlee.org/Periodic_dosage_dir/bangu/an.html
>
>[...]
>
>This is a scheme i devised to check the harms done
>by the army of academicians and grammarians, to cause them headaches
>and pain as they have caused me and the populace.


Sorry about the "headaches and pain" that the "army of academicians
and grammarians" have caused you.

Just a short note regarding the "canonical" (to borrow your term) use
of the articles 'a' vs. "an": It's actually much less complicated
than you describe:

a) If the following syllable begins with a vowel phoneme, use "an";
e.g., "an apple."

b) If the following syllable begins with a consonant phoneme, use
'a'; e.g., "a bird."

That's all there really is to it. The confusion with articles
preceding acronyms is caused by confusion with the pronunciation of
the acronyms; e.g., in the case of "SQL" (according to "SQL
Fundamentals" (see
http://databases.about.com/od/sql/a/...mentals.htm)):

>By the way, the correct pronunciation of SQL is a contentious issue
>within the database community. In their SQL standard, the American
>National Standards Institute declared that the official pronunciation
>is "es queue el." However, many database professionals have taken to
>the slang pronunciation "sequel." The choice is yours.


Without loss of generality, suppose that there were different
varieties of SQL, and that we wished to refer to one of them. Then,
since the "es" syllable above begins with the vowel phoneme 'e'
followed by the consonant phoneme 's' (there are actually two phonemes
in the single syllable '"es"), using that pronunciation, we would say
"an SQL." However, since the "se" syllable above begins with the
consonant phoneme 's' followed by the vowel phoneme 'e', using that
pronunciation, we would say "a SQL." Hence the confusion.

Remember, it is the pronunciation, not the spelling, that matters. For
example, "hair" and "heir" both begin with the letter 'h,' but begin
with different phonemes, since the consonant phoneme corresponding to
the letter 'h' is actually enunciated in "hair" ("hair" is pronounced
identically to "hare"), but is silent in "heir" ("heir" is pronounced
identically to "air"). So, we have the following:

c) a hair
d) an heir

Of course, you are free to use articles any way you wish; this
description was just offered to cause minimal "headaches and pain" in
clarifying the issue. Many people have difficulties with usage of 'a'
vs. "an" (including, until recently, one worker with a Ph.D. in my
office), so don't worry if you feel confused on occasion.

-- Benjamin L. Russell
Reply With Quote
  #7  
Old 09-04-2008, 01:22 PM
Kjetil S. Matheussen
Guest
 
Default Re: the jargon lisp1 vs lisp2 [was: function aliasing]

On Thu, 4 Sep 2008, Aaron W. Hsu wrote:

> Benjamin L. Russell <DekuDekuplex@Yahoo.com> writes:
>
> >On Tue, 2 Sep 2008 15:22:31 -0700 (PDT), "xahlee@gmail.com"
> ><xahlee@gmail.com> wrote:

>
> >>On Sep 2, 1:51 pm, verec <ve...@mac.com> wrote:
> >>> On 2008-09-02 14:13:14 +0100, "xah...@gmail.com" <xah...@gmail.com> said:
> >>>
> >>>[...]
> >>>
> >>> ... Also
> >>> "An" as in "an article" wouldn't hurt either :-)
> >>
> >>For this, see:
> >>
> >>To An or Not To An
> >>http://xahlee.org/Periodic_dosage_dir/bangu/an.html
> >>
> >>[...]
> >>
> >>This is a scheme i devised to check the harms done
> >>by the army of academicians and grammarians, to cause them headaches
> >>and pain as they have caused me and the populace.

>
> >Sorry about the "headaches and pain" that the "army of academicians
> >and grammarians" have caused you.

>
> What's more, I really think that Grammarians were forced into a submission
> of this feature because of the common usage of English speaking people.
> Using a or an is largely a matter of colloquial spoken English niceties,
> rather than existing for the benefit of written English. In my experience,
> such usages are not the favorites of Grammarians.
>


It's not that complicated.

Adding a consonant between vowels
makes it easier to speak because there is
no need to add breaks to separate the vowels, or
change mouth position without adding an extra sound
when saying to consonants in a row. It's a time saver.

And, when listening to people speaking, it's easier to
separate the words when the first sound in the next word
is not very similar to the last word in the previous word.
Less chance for confusion.

Furthermore, writing similary to how we speak, simply
does make sense.

Maybe this is not so obvious for people with
east-asian accents?
Reply With Quote
  #8  
Old 09-04-2008, 02:01 PM
Kjetil S. Matheussen
Guest
 
Default Re: the jargon lisp1 vs lisp2 [was: function aliasing]

On Thu, 4 Sep 2008, Kjetil S. Matheussen wrote:

> On Thu, 4 Sep 2008, Aaron W. Hsu wrote:
>
> > Benjamin L. Russell <DekuDekuplex@Yahoo.com> writes:
> >
> > >On Tue, 2 Sep 2008 15:22:31 -0700 (PDT), "xahlee@gmail.com"
> > ><xahlee@gmail.com> wrote:

> >
> > >>On Sep 2, 1:51 pm, verec <ve...@mac.com> wrote:
> > >>> On 2008-09-02 14:13:14 +0100, "xah...@gmail.com" <xah...@gmail.com> said:
> > >>>
> > >>>[...]
> > >>>
> > >>> ... Also
> > >>> "An" as in "an article" wouldn't hurt either :-)
> > >>
> > >>For this, see:
> > >>
> > >>To An or Not To An
> > >>http://xahlee.org/Periodic_dosage_dir/bangu/an.html
> > >>
> > >>[...]
> > >>
> > >>This is a scheme i devised to check the harms done
> > >>by the army of academicians and grammarians, to cause them headaches
> > >>and pain as they have caused me and the populace.

> >
> > >Sorry about the "headaches and pain" that the "army of academicians
> > >and grammarians" have caused you.

> >
> > What's more, I really think that Grammarians were forced into a submission
> > of this feature because of the common usage of English speaking people.
> > Using a or an is largely a matter of colloquial spoken English niceties,
> > rather than existing for the benefit of written English. In my experience,
> > such usages are not the favorites of Grammarians.
> >

>
> It's not that complicated.
>
> Adding a consonant between vowels
> makes it easier to speak because there is
> no need to add breaks to separate the vowels, or
> change mouth position without adding an extra sound
> when saying to consonants in a row. It's a time saver.

^^

Personally, I have a much bigger problem separating
two, to and too. :-)

Reply With Quote
Reply


Thread Tools
Display Modes


All times are GMT -5. The time now is 08:43 PM.


Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
vB Ad Management by =RedTyger=

In an effort to better serve ads to our visitors, cookies are used on objectmix.com. For more information, check out our Privacy Policy.