[comp.binaries.ibm.pc.d] Computer Algebra in Prolog uploaded to Simtel20

w8sdz@WSMR-SIMTEL20.ARMY.MIL (Keith Petersen) (04/15/89)

Correction on the location of the Computer Algebra in Prolog Simtel20
upload announcement.

The device name was incorrectly stated as PD2:.  It is actually PD1:.
The error was my fault in editing the author's message before
forwarding.

Again, the file is PD1:<MSDOS.PROLOG>ALGEBRA.ARC

--Keith Petersen
Maintainer of Simtel20's CP/M, MSDOS, and MISC archives
Internet: w8sdz@wsmr-simtel20.army.mil [26.2.0.74]
Uucp: {ames,decwrl,harvard,rutgers,ucbvax,uunet}!wsmr-simtel20.army.mil!w8sdz

SVAGHI@ESTEC.BITNET (04/18/89)

I have uploaded the program Computer Algebra in Prolog, which I wrote a
couple of years ago, to the PD2:<MSDOS.PROLOG> directory at Simtel20.
The program runs under PDPROLOG ver.1.9, which is already available in
PROLOG19.ARC.

More information on ALGEBRA.ARC is listed below.

         With best regards,
                           Sergio Vaghi   SVAGHI@ESTEC.BITNET

.......................................................................


                       COMPUTER ALGEBRA IN PROLOG
                       --------------------------

                         Copyright 1987  S.Vaghi



   COMPUTER ALGEBRA IN PROLOG consists of four files:

   (READ.ME)           is the present file.

   ALGEBRA.TXT         is a short paper on computer algebra in Prolog.
                       The paper is self-contained and includes the
                       listings of the sample programs discussed, with
                       several examples of applications.
                       You can print it out on your Epson-compatible
                       printer (it is formatted by a word processor,
                       so if you browse through it on the screen you
                       will see some "funny" characters appear).

   DIFFSV.PRO          is a program in Prolog for the symbolic
                       differentiation of algebraic functions.

   SIMPSV.PRO          is a program in Prolog for the symbolic
                       simplification of algebraic functions.

   The two programs are described in the paper, which should be
   read before using them.

   The programs run under PD Prolog (ver.1.9), a public domain Prolog
   developed by Bob Morein of Automata Design Associates, 1570 Arran Way,
   Dresher, PA 19025, who may be contacted to obtain a copy of the program.

   The programs should also run with little or no modification under
   other Prolog interpreters or compilers following the Edimburgh
   syntax.

   COMPUTER ALGEBRA IN PROLOG is placed in the public distribution, but
   the author retains the copyright of the paper and programs.

   You may copy and distribute COMPUTER ALGEBRA IN PROLOG provided
   that it is done free of charge, that all four files are copied
   without modifications and, in particular, the copyright notices
   are not removed or changed.

   I hope you will enjoy these programs.
   You can send comments and suggestions to

                                             S. Vaghi,
                                             ESTEC,
                                             P.O. Box 299,
                                             2200 AG Noordwijk (ZH),
                                             The Netherlands.

.....................................................................

hadden@ella.SRC.Honeywell.COM (George D. Hadden) (04/18/89)

a piece of information: the prolog on simtel (version 1.90n) is
broken.  here is one manifestation: if you define append as follows:

append([],L,L).

append([X|L1],L2,[X|L3]) :- append(L1,L2,L3).

and then type 

?- append(X,Y,[a,b]).

you will get

X=[], Y=[a,b]
X=[a], Y=[b]
X=[a,b], Y=L_12

obviously, the last should be Y=[].  i've called a.d.a. about it and
they say that the newer version doesn't have this problem.  i'm not
sure what the mechanism is to get this stuff onto simtel, but it would
be awfully nice if someone could arrange for it.

-geo
---
George D. Hadden, Honeywell Systems and Research Center
PHONE:  (612)782-7769
MAIL:   3660 Technology Drive MN65-2100, Minneapolis, MN 55418
ARPA:   hadden@src.honeywell.com
UUCP:   {umn-cs, ems, bthpyd}!srcsip!hadden

jk0@sun.soe.clarkson.edu (Jason Coughlin,,,) (04/19/89)

From article <20609@srcsip.UUCP>, by hadden@ella.SRC.Honeywell.COM (George D. Hadden):
> a piece of information: the prolog on simtel (version 1.90n) is
> broken.  here is one manifestation: if you define append as follows:

	Don't use pd-prolog.  it's crap!  here are some major bugs we've 
found:
	(a) underline variables are broken.
	(b) don't name a file the same as any rule or fact (just how long
do you think it took us to track down THAT little annoyance?)

	The worst is that we bought the $200 version and it has the same 
bugs!  Sigh....  Spend your money on Turbo-Prolog instead of wasting your
time on sh**ty software that will drive you crazy.  Turbo is FAST, cheap,
and best of all - it WORKS!

	Got an flames?  Send em to /dev/null.

--
Jason Coughlin
( jk0@sun.soe.clarkson.edu , jk0@clutx , or whatever suits your fancy )

hadden@ella.SRC.Honeywell.COM (George D. Hadden) (04/21/89)

>From article <20671@srcsip.UUCP>, by hadden@ella.SRC.Honeywell.COM (George D. Hadden):
>> naturally, one well-known problem (some might call this a feature :-)
>> of turbo prolog is that it's not prolog.

>	  in what way is turbo prolog NOT prolog?  because it forces
>  you to define the types?  personally i consider this a feature
>  because it makes debugging and tracing easier.
>
>	  of course, turbo prolog does have it limitations i DO
>  conceed.  but, it's limitation FAR exceed those of pd-prolog.
>  also, you can buy turbo- prolog for $40 from an educational
>  institution.  at that price, there just isn't an arguement.
>
>--
>Jason Coughlin

oh, i'd say there's an argument.  in fact, i think you've answered
your own question.  although you might consider the above-mentioned
characteristic a feature, that only confirms the claim that turbo
prolog is not, in fact, prolog.  i'm not sure what it is but it's NOT
prolog.  please note that this is not a value judgement regarding its
worth -- i'm NOT in the prolog fan club.  however, what i AM in is a
position of teaching prolog to graduate students at the university of
minnesota (in the context of an AI Programming Techniques course) and
feel an acute responsibility to prepare them for the prolog questions
on the qualifying exam.  pdprolog, whatever its other shortcomings may
be, at least runs the examples in the prolog texts that i use (bratko,
c&m).

I quote here from the review of Turbo Prolog 2.0 in the October 1988 
Byte:

   Turbo Prolog 2.0 stretches the language even more than did the
   original Turbo Prolog 1.0 ... Borland's Prologs enforce strong
   typing of objects and relations (Edinburgh Prolog, the de facto
   standard, doesn't) and limit the assert and retracdt mechanism to
   facts alone (Edinburgh supports dynamic modification of facts,
   predicates that define relations, and rules involving those
   predicates). 

   ...

   Like its predecessor, Turbo Prolog 2.0 isn't a traditional Prolog;
   the language is strongly typed and doesn't let you dynamically
   assert and retract rules. 

because of this and other misfeatures of this language, i don't allow
my students to use it for their programming assignments.

-geo
---
George D. Hadden, Honeywell Systems and Research Center
PHONE:  (612)782-7769
MAIL:   3660 Technology Drive MN65-2100, Minneapolis, MN 55418
ARPA:   hadden@src.honeywell.com
UUCP:   {umn-cs, ems, bthpyd}!srcsip!hadden