[net.lang.prolog] PROLOG Digest V3 #23

RESTIVO@SU-SCORE.ARPA (05/20/85)

From: Chuck Restivo (The Moderator) <PROLOG-REQUEST@SU-SCORE.ARPA>


PROLOG Digest            Monday, 20 May 1985       Volume 3 : Issue 23

Today's Topics:
             Query -  External Calls & Interlisp/LOOPS
                Announcement - InterKibernetik '85
               Implementation - If-Then-Else Syntax 
                       LP Library - New Book
----------------------------------------------------------------------

Date: 16 May 1985 11:01-EDT
From: Robert.Coyne@CMU-CS-CAD.ARPA
Subject: External calls from Prolog!

We have a project in the Architecture Dept. at CMU
wherein we are considering implementing a shape
grammar in Prolog.  In order to display the results
and interactively check the grammar we would like
to be able to make external calls from Prolog to a
Graphics package we have which is written in C (also
in Pascal).

The version of Prolog we have is C-Prolog, Version 1.3
(Pereira et al) running on a Vax under Unix.  There is
also a Tops20 version available at CMU.

Thanks you,

-- Robert F. Coyne

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

Date: 13 May 85 18:04:49 EDT
From: Louis Steinberg <STEINBERG@RUTGERS.ARPA>
Subject: Prolog for Interlisp/Loops

Can anyone point me to an implementation of Prolog
that will run on a Xerox Lisp machine, i.e. is
implemented in Interlisp-D or Interlisp-D with
LOOPS?  I know of Ken Kahn's version but that
unfortunately does not use standard LOOPS.  This is
for an educational environment so efficiency is not
essential.  Also welcome would be advice on porting
some other, existing version.

Thank you for the help.

-- Lou Steinberg

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

Date: Sun, 12-May-85 17:50:59 PDT
From: (Neal D. McBurnett) ihnp4!drutx!druny!neal@UCB-Vax.ARPA
Subject: Cybernetics conference in Esperanto: InterKibernetik '85

The World Association of Cybernetics, Computer Science,
and System Theory (Tutmonda Asocio pri Kibernetiko,
Informatiko kajSistemiko or TAKIS) is sponsoring
InterKibernetik '85 in Budapest, Hungary, from July 27
to August 2.  It is also being sponsored by associations
in Hungary, France, Italy and Belgium.  It will be an
interdisciplinary conference, covering fields as diverse
as
    Information Theory,
    Programming Methodology,
    and Linguistic Cybernetics.

Three working languages will be used: Esperanto, English
and French.

Dr. Stuart Umpleby of Georgetown University is the US
representative on the Program Committee.

I plan to attend, so stay tuned for a summary...

-- Neal McBurnett

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

Date: Thu, 9 May 85 18:09:15 pdt
From: Peter Ludemann <Ludemann%UBC@csnet-relay.arpa>
Subject: if-then-else syntax in Prolog

For getting rid of cuts, soundly implemented
if-then-else (as in MU-Prolog) is helpful.
However, the syntax leaves something to be
desired.  Here's an example (the "split" in
quicksort) where "split(X,L,Low,High)" takes
the list "L" and splits it into two lists
"Low" and "High" with all elements in "Low"
less than or equal to "X" and all those in
"High" greater than "X":

split(_, nil, nil, nil).
split(X, Y.Rest, X.Low, High) :- X =< Y, split(X, Rest, Low, High).
split(X, Y.Rest, Low, X.High) :- X >  Y, split(X, Rest, Low, High).

This can be made more efficient with a cut:

split(_, nil, nil, nil).
split(X, Y.Rest, X.Low, High) :- X =< Y, !, split(X, Rest, Low, High).
split(X, Y.Rest, Low, Y.High) :-            split(X, Rest, Low, High).

With if-then-else, this ends up as:

split(_, nil, nil, nil).
split(X, Y.Rest, Low, High) :- if X =< Y
        then Low = Y.Low2, split(X, Rest, Low2, High)
        else High = Y.High2, split(X, Rest, Low, High2)
X = X.

Some clarity has been lost and the result may actually be less
efficient because of the calls to "=".

Does anyone have any thoughts on how to improve this?

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

Date: Thu, 9-May-85 21:33:09 PDT
From: (Simon MacDonald) munnari!SimonMac@Seismo.ARPA
Subject: New Book

         Logic Programming: a Classified Bibliography
                by I. Balbin, and K. Lecot.

This exciting area  in  computer  science  is  growing  very
quickly,  so  quickly  in fact, that an overview of its ori-
gins, seminal papers, landmark treatises,  pioneering  arti-
cles  etc.,  may  be forgotten, or difficult to identify and
obtain.

Now, the authors of this comprehensive bibliography of  well
over 1,600 entries have brought it all together, classed the
type of each  paper  or  monograph  into  one  of  18  broad
categories.  This is somewhat arbitrary, but very useful for
those wishing to cover a specific  sub-topic.  If  the  item
covers  more  than  one  category,  it  is  entered  in each
relevant section.

The bibliography has many  other  useful  features,  namely,
it's  more  than twice the size of the one which appeared in
Journal of Logic Programming, and is very  recent.  It  also
has an author index, and subject index.

Prepublication price of A$17.95 is  valid  only  until  June
30th, 1985.

Approx. 330 pages, softcovers,laminated, burstbound.

Orders may be placed ONLY with the publisher or  his  agents
in U.S.:

       Polygonal Publishing House, 210 Broad Street,
                   Washington, NJ, 07882.

The Publisher is:

        WILDGRASS BOOKS, 289A Smith Street, Fitzroy,
                 Victoria, 3065, AUSTRALIA.

Please note that  only  prepaid  orders  will  be  processed
immediately.  Others  will  attract handling charges, and be
subject to a 20% increase in price after June 30th, 1985.

Release date July 15, 1985.

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

End of PROLOG Digest
********************