[comp.lang.prolog] AAIS Prolog for Macintosh

masticol@sabbath.rutgers.edu (Steve Masticola) (03/14/88)

Thanks to all who replied to my first posting about Mac Prolog. I've
had two favorable comments about AAIS Prolog, but I haven't found it
in my usual software sources.

Can anyone tell me if there is a discount software house supplying
AAIS Prolog? (Or does anyone want to sell me a copy w/license?) Even
the address and phone of AAIS would be appreciated.

Thanks,
Steve Masticola
masticol@paul.rutgers.edu

ok@quintus.UUCP (Richard A. O'Keefe) (03/15/88)

In article <Mar.14.09.50.49.1988.675@sabbath.rutgers.edu>, masticol@sabbath.rutgers.edu (Steve Masticola) writes:
> the address and phone of AAIS would be appreciated.

According to the AAIS Prolog manual,
	Advanced A.I. Systems, Inc.,
	P.O.Box 39-0360,
	Mountain View,
	CA 94039-0360

	ph: (415) 961-1121
I haven't verified this, but the manual, the errata, and the cover letter
all say the same thing several times.  However, the cover letter says:
"If you have any problems or questions, please call us at (415)961-1121
between 9am and 4pm Monday-Thursday and 9am and 1pm Friday, Pacific Time,
and we will do our best to help you.  Please note our new phone number
is (415)948-8658."

I haven't used AAIS Prolog myself, but I've heard good things about it.
My only gripe is that it isn't an Edinburgh-compatible Prolog, and I can't
see any point in most of the differences.  Beware, for example, that they
have member/2 and memberchk/2 built in, but they call memberchk/2 member
and they call member/2 foreach.

It would be very interesting to hear the experiences of people porting
Prolog programs to/from the Macintosh /between different Prologs on the
Macintosh.  E.g. converting from LPA MacProlog to AAIS Prolog or vice versa.
It would also be interesting to hear which Mac Prologs are reliable:  I have
a beta copy of a Prolog for the Macintosh (*NOT* *OURS*!  There is no Quintus
Prolog for the Mac!) which is really quite nice except that it crashes rather
a lot and takes the Mac with it.

william@CS.UCLA.EDU (03/16/88)

I've used AAIS Prolog for more than a year, and I am reasonably happy
with it.  Programs that works under C-Prolog or SICS Prolog MAY need
a little bit of modification before it can run under AAIS.  The major
differences are:

1) The I/O predicates, such as get0/1 and read/1, fails when end of file
   is reached.  In SICS, get0/1 will return a -1 and read/1 will return
   end_of_file when end of file is reached.  (This may be nice sometimes.)

2) AAIS has predicates such as append/3 and member/2 built in.  However,
   you can make the system forget about such built-ins by using the new/2
   directive as follows:
	:- new(append, 3).
	:- new(member, 2).
   In porting a program that consists of several files, just create a
   file that consults everything, and put the new/2 directives at the
   top of this file.

3) File naming convention is different, if you move from a UNIX to the
   Mac environment, and if you want to use files not in the current
   directory.

4) AAIS implements the clause/2 predicate a little bit differently.
   For example, if you have the following clause in the database:
	a :- b, c.
   When you do clause(a, X), X will become [b, c], instead of the
   usual b, c.  This may be the biggest problem when you want to
   port something to AAIS.

Other than 4), porting is not a big problem.  What basically needs to
be done is to create a Mac specific file that handles the differences.

Some of the good things:

1) AAIS is very robust, I don't recall that I've ever got any crashes.

2) It handles GARBAGE COLLECTION.  You can also disable/enable the
   garbage collection messages.

3) Although it does not have a compiler, it runs a little bit slower
   than the C-Prolog on our departmental VAX.

4) It has interface to the Mac toolbox, so graphics is possible,
   although I've never tried it.

5) It has a familiar Mac application user interface.  It's not like
   a product of a garage operation.

6) Very nice debugger.  It even pretty-prints the current goal, so
   things don't disappear into the right edge of the screen or have
   unreadable wrap around.

7) It catches user interrupt (<Cmd>.), just like C-Prolog or SICS
   handles <CNTRL>C.

8) It's inexpensive.  When I bought it, I cost about $99 or $95.
   The price must have gone up.  However, to get a full language
   system for less than $150 is a very good price.  Also, their
   support is pretty good.  When I wrote to them, they actually responded.

***Disclaimer:  I am in no way associated with Advanced A.I. Systems Inc.***

chiefdan@vax1.acs.udel.EDU (Chief Dan Roth) (03/17/88)

I'd appreciate info on conversion problems from anyone who has used the
above two.  I'm currently porting a relatively large program from Quintus on
a Sun to AAIS on a Mac II.

Anyone who has done a similar conversion out there?

chiefdan
-- 
"I promise, if elected, I will borrow even-larger amounts of money in order to
keep pace with the ever-increasing interest payments on the national debt!"
"You've got my vote! So long as you don't cut spending or raise taxes." -Stamaty
ARPA: chiefdan@vax1.acs.udel.edu       UUCP: BACKBONE!vax1.acs.udel.edu!chiefdan