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

RESTIVO@SU-SCORE.ARPA (06/10/85)

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


PROLOG Digest            Monday, 10 Jun 1985       Volume 3 : Issue 26

Today's Topics:
                       Query - AI and the CAIS,
                           Reasoning - Time,
        Implementation - Warren Engine & External Calls & Events,
                  LP Library -  1985 SLP & New LIST 
----------------------------------------------------------------------

Date: Thursday, 6 Jun 85 09:30:37 PDT
From: "David M. Meyer" <Meyer%tekchips%tektronix@csnet-relay>
Subject: Warren Prolog Engine

We are interested in the use of "put_variable Xn, Ai" in
Warren's "New Prolog Engine".

Basically, why would one ever need to save a temporary
variable on the heap (we're never going to reference it)?

Why not just create an unbound variable in Ai, that is,
Ai := ref_to(Ai)?

For example, consider the following example:

f(X, Y, Z) :- h(Q), g(Y, Z).

This will generate the following code (before optimization):
allocate

get_variable            X1, A1
get_variable            Y1, A2
get_variable            X3, A3

put_variable            X4, A1  % What should be generated here?
call                    h/1, 1

put_unsafe_value        Y1, A1
put_variable            X5, A2  % What happens here (i.e., why does
                                % this need to be on the heap?)
deallocate
execute                 g/2

Note that where the instruction "put_variable X4, A1" was
generated in the above code, Warren doesn't give us a byte-code,
since the "put_variable Xn, Ai" instruction is only used for
an unbound (temporary) variable in the *last* goal.

Thank you,

- Kent Beck and David Meyer

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

Date: Sat 1 Jun 85 17:24:03-PDT
From: Fernando Pereira <PEREIRA@SU-CSLI.ARPA>
Subject: Reasoning about time

I've just heard about some work that might be just what you need.
Write to

Prof. R. Kowalski
Dept. of Computing
Imperial College
180 Queen's Gate
London SW7 2BZ
England

asking for his paper on ``event calculus''. I haven't seen
the paper yet, but from a recent conversation with him it
would seem very relevant to your needs.


-- Fernando Pereira

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

Date: 24 May 85 17:48:32 +1000 (Fri)
From: decvax!mulga!mungunni.oz!Lee@Berkeley
Subject: External calls

The latest version of MU-Prolog allows object files to
be loaded at run time and linked to Prolog predicates.
This version is not yet released, but if people
particularly want the feature, we could give them that
version.  Its a pretty awful hack and is unlikely to
be portable but the current version works under 4.2BSD
UN*X on a VAX, Pyramid and Perkin Elmer 3240.  I believe
Basser Prolog also has this facility, though I don't know
if it is distributed or how portable it is.

-- Lee Naish

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

Date: Mon, 3-Jun-85 09:39:10 PDT
From: Vantreeck%Logic.DEC@DECWRL.ARPA
Subject: Event handling in Prolog

      I'm not a theorist. From a programming point of view,
the ease of establishing event handlers depends on the
hardware OS support more than some limitation of Prolog.
Adding event handlers to Prolog implementations on VAX/VMS
should be a trivial task. Adding an Prolog predicate to
generate an exception, should also be easy.

      Besides control-C, probably the best other example
common of a Prolog event handler, would be a garbage
collection which occurs on the event of a stack running
into a protected page. Establishing a handler for integer
or floating point underflow over flow is easy - provided
that the calculations are done with routines that generate
an exception. I don't know if implementations like QUINTAS
Prolog, which uses their own routines for their short floats,
generate exceptions on underflow/overflow.

      If I were to write a concurrent Prolog, I think I
would probably use an event handler to manage the
concurrency.  I hope that the newer Prologs that will be
hitting the market in the next year or two of years will
have predicates for establishing and handling events.

-- George Van Treeck

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

Date: 3 Jun 1985 08:10-PDT
From: JWOLFE@USC-ECLB
Subject: AI and the CAIS

Dear Colleagues:

The Institute for Defense Analysis (IDA) is
investigating the Common APSE Interface Set (CAIS) for Ada
Programming Support Environments (APSE).  Although it is a
proposed DoD standard, it is unlike other standards in that it
will evolve as interface needs are identified.  My particular
interest is in what needs are generated by the introduction of AI
languages and techniques (e.g.  LISP, PROLOG, Knowledge Bases,
Inferencing, etc.)  to software engineering environments.  This
issue may effect the CAIS at two levels: First, tools may be
written using AI languages and techniques; second, applications
may use AI languages or techniques which may require unique
tools.  I am coming to the Ada and AI communities to solicit your
help and advise.  I would appreciate hearing from anyone who has
experience in:

 * Using AI languages and techniques to develop software
   tools.
 * Developing tools for the life cycle maintenance of
   AI software.
 * Anyone else who can contribute.

     Since the results of this study will influence the evolution
of the CAIS standard, it is important to have the participation
of government, industry, and acedemia.  Please note that since
IDA is a FCRC, issues of proprietary information and
non-disclosure CAN be resolved.  Your participation is
needed and appreciated.

-- James Wolfe
   Institute for Defense Analysis

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

Date: Fri, 24 May 85 10:48:44 EDT
From: Doug DeGroot <Degroot.Yktvmv%ibm-sj@csnet-relay>
Subject: Registration/Hotel forms for 1985 SLP

============================================================

          1985 Symposium on Logic Programming
                  July 15-19, 1985
           Sheraton Boston Hotel and Towers
                 Boston, Massachusetts

Advance Registration Form:
_________________________

Mail to and make checks payable to:

    1985 Symposium on Logic Programming
    c/o IEEE Computer Society
    1109 Spring St., Suite 300
    Silver Spring, Maryland 20910
    USA

deadline for advance registration: July 1, 1985



Name: _________________________________________________________

Affiliation: __________________________________________________

Address: ______________________________________________________

         ______________________________________________________

City: _________________________ State: __________  Zip: _______

Country: ______________________________________________________


Tutorials:                  Advance          Late
_________                 Registration    Registration

   IEEE Member:               $140 each       $170 each
        Non-member:           $175 each       $215 each

Symposium:
_________

   IEEE Member:               $185            $215
   Non-member:                $220            $260
   Student*:                   $50*            $50*


Make checks payable to: 1985 Symposium on Logic Programming

Amount enclosed: _________________

No refunds after July 12, 1985
All refunds subject to a $10.00 service charge.

* Student registration does not include the banquet or
cocktail parties.

============================================================

          1985 Symposium on Logic Programming
                  July 15-19, 1985
           Sheraton Boston Hotel and Towers
                 Boston, Massachusetts


Hotel Registration Form:
_______________________

Mail to: Sheraton Boston Hotel and Towers
         attn: Reservations Office
         39 Dalton Street
         Boston, MA 02199

Rate: $110/night (single or double occupancy)
      A block of rooms has been reserved for the participants.
      Reservations should be made directly with the hotel before
         June 14, 1985.

Name: _________________________________________________________

Affiliation: __________________________________________________

Address: ______________________________________________________

         ______________________________________________________

City: _________________________ State: __________  Zip: _______

Country: ______________________________________________________


Arrival Date: ___________________ Time: _________a.m./p.m.

Departure Date: _________________ Time: _________a.m./p.m.

Amount enclosed: _________________________________________

One night's deposit required if arrival time is after 6 p.m.

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

Date: Fri, 7 Jun 85 17:27:27 edt
From: Bruce Smith <BTS%UNC@csnet-relay>
Subject: New LIST of PROLOGs

The "LIST of PROLOGs" was started by Randy Harr (then at
CWRU) and myself, largely from the USENET and ARPANET
computer networks.  It's grown over the last couple of
years, with help from numerous Prolog folks.

     The list emphasizes Prolog systems that are currently
available. Also, I've tried to note which vendors offer
educational discounts. There are a lot of new Prolog
systems being announced, with rumors of still more on the
way.  In particular, I expect that this list'll be very
much out of date after this summer's Logic Programming
Symposium and, of course, IJCAI.

     Please let me know of any additions or corrections
to the list.  Sorry, but I didn't have time to verify all
the information.  Some of the entries are also over a year
old and are likely out of date.

-- Bruce T. Smith

[ this file is available from the SCORE:PS:<Prolog>
  directory as Prolog.NImplementations  -ed ]

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

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