🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.prolog
Article #3193

compatibility/elegance & *theory*

#3193
From: Jerry Jackson
Date: Thu, 31 Mar 1988 18:57
78 lines
3450 bytes

After reading Richard O'Keefe's response to Cris Kobryn's article, I would
like to make a *few* points...

	First of all, I agree with the idea of being able to plug in
different readers -- however, I don't think this is the area of
compatibility to which Mr. Kobryn was referring.  The chief problems
with CommonLisp (according to me) are semantic, not syntactic.  The
CommonLisp designers payed too much attention to the M**lisp and
Z***lisp communities who moaned and whined about the AWFUL cost of
updating old code. 

>>    It is theoretically *impossible* to write a *correct* automatic
>>    conversion program for Prolog or Lisp.

What an interesting statement.... Is it also theoretically *impossible* to
write a *correct* automatic conversion program from Lisp to assembler? 
Somehow, this seems like a similar problem to me... 


>>  For example, in Prolog-as-we-know-it,
>>      atom(X)
>>  fails quietly if X is a variable.  This is not terribly logical,
>>  but that is the way it has always been, and people have written
>>  their programs assuming that that's the way it works.  Even NU
>>  Prolog, which supports coroutining in a particularly nice way,
>>  doesn't change that.  (NU Prolog has isAtom/1, which IS logical.)
>>  Come to that the equivalents in VM/Prolog and Waterloo Prolog are
>>  similar.  But in the current BSI fragments, we find that
>>      atom(X)
>>  will report an ERROR if X is a variable.


Prolog is a relatively new language.  Why should we expect its form to
be frozen in stone so soon. It's hard to think in terms of "the way it
has always been" with regard to Prolog. I have a sneaking suspicion that
"Prolog-as-we-know-it" will probably change quite a bit in the
future.  It's a shame that code might need to be re-written, but, do we
want to burden future generations of logic programmers with today's
short-sightedness?  In this particular example, (which I consider a
strange one for Mr O'Keefe to use to make a point), it seems to me
that the BSI behavior is much more sensible.. after all, does it
really make sense to ask the question: "Is this unknown object an
atom?".



I'm sure Mr. O'Keefe has some valid complaints about the semantics of 
BSI.. (I haven't read the grimoire), but I fear many of his complaints are
grounded in a desire to avoid the (admittedly painful) task of upgrading
code.

How many times have I heard...

"But, we have too much COBOL code that already works -- we can't change now"

or,

"But, Fortran does everything I need..."

or even,

"BASIC is just fine.. after all, all languages are Turing-machine equivalent"


In some ways, these are extreme examples but, on the other hand, they
are less extreme because the changes that these folks are fighting are
far more pervasive and difficult than a few rather subtle changes.


Finally, do we want people 20 years from now thinking about Prolog the
way most people think about Fortran today.  This is what will happen
if we concern ourselves too much with compatibility at this early
date.


--Jerry Jackson
Technical Details
Message-ID: <136@vor.esosun.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!water!watmath!clyde!att-cb!att-ih!pacbell!ames!ucsd!sdcsvax!ucsdhub!esosun!jackson

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!water!watmath!clyde!att-cb!att-ih!pacbell!ames!ucsd!sdcsvax!ucsdhub!esosun!jackson
From: jackson@esosun.UUCP (Jerry Jackson)
Newsgroups: comp.lang.prolog
Subject: compatibility/elegance & *theory*
Message-ID: <136@vor.esosun.UUCP>
Date: 31 Mar 88 18:57:52 GMT
Organization: SAIC, San Diego
Lines: 78