[comp.lang.prolog] PROLOG Digest V5 #9

PROLOG-REQUEST@SCORE.STANFORD.EDU.UUCP (02/16/87)

PROLOG Digest            Monday, 16 Feb 1987        Volume 5 : Issue 9

Today's Topics:
                  Query - Symbolics & Unifier & Bug,
                      Programming - 91 Function,
            Announcement - Database Programming Languages
----------------------------------------------------------------------

Date: Thu 12 Feb 87 15:35:02-EST
From: BGoodman@G.BBN.COM
Subject: Prolog for Symbolics machines

I would like to get a Prolog for our Symbolic 3620s but the price for
Symbolics Prolog is just too steep.  I wondered if anyone out there is
using a different (and inexpensive) Prolog on their Symbolics machines
that they are happy with.  

-- Brad (BGOODMAN@BBNG.ARPA)

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

Date: Fri 13 Feb 87 12:39:26
From: Hideki Isozaki <ISOZAKI@NTT-20>
Subject: Unifier


How can I get information of unification in DEC-10/20 Prolog, C-Prolog
and Quintus Prolog? I need such function to implement different meta
programs.

Example:

% | ?- unify(abc(X,d+A)=abc(e(Y),Z),Unifier).
%
% Unifier = [[X/e(Y)],[Y/Y,Z/(d+A)]]
%
% yes
% | ?-

It must be time-consuming if I implement such a program by myself.  On
the other hand, prolog interpreter must do such task as in the
following.

% | ?- abc(X,d+A)=abc(e(Y),Z).
%
%
% A = _54,
% X = e(_86),
% Y = _86,
% Z = d+_54
%
% yes
% | ?-

-- Hideki Isozaki

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

Date: 13 Feb 87 13:07:04 GMT
From: Jim Scobbie <mcvax!ukc!its63b!epistemi!jim@seismo.css.gov> 
Subject: A bug

A bug: '1.2' is not an integer in our Prolog, so X is '1.2' + '3.4'
gives an error message. Doing

?- name('1.2',Ascii),name(Integer,Ascii), integer(Integer).
also fails. So, how do I take the single brackets off?

Another thing, why does 'name' on the empty list of ascii characters give an
atom with no name rather than a fail. On our C-Prolog

?-name(X,[])
gives X= '' like so (including the space in front) and creating a Y thus
?-name(X,[]),Y =[X|[]]
gives Y=[ '']

which at least is unrecognisable, while a development Prolog I've used
gives Y=[] since no quote marks go around the invisible atom. note
that Y will not unify with the empty list (boy was that a bug to
find!)

-- Jim

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

Date: 12 Feb 87 19:31:55 GMT
From: Peter Y.F. Wu <rpics!wup@seismo.css.gov>
Subject: 91 function

In article <3782@milano.UUCP>, varghese@mcc.com (Joe Varghese) writes:
> ...a Prolog version:
>
> f91(91,91) :- !.
> f91(X,Y) :- X > 111, !, Z is X - 10, f91(Z,W), f91(W,Y).
> f91(X,Y) :- X > 100, !, Z is X - 10, f91(Z,Y).
> f91(X,Y) :- Z is X + 10, f91(Z,W), f91(W,Y).
>

This works only for X=10*N+1 for integer N.  Other cases the program
goes into infinite recursion... try f91(100,Y).  I suppose the third
clause should have been

   f91(X,Y) :- X > 100, !, Z is X - 11, f91(Z,Y).

Then it will work...

-- Peter Y.F. Wu

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

Date: Sun, 15 Feb 87 15:58:12 EST
From: Tim Finin <tim@linc.cis.upenn.edu>
Subject: Workshops on Database Programming Languages

              Workshops on Persistent Object Systems and
          Formal Aspects of Database Programming Languages.

Two workshops on these topics are to take place this summer in Europe
immediately before and after VLDB.

The first, to be held on the West coast of Scotland, August 25-28,
will focus on the design and implementation of persistent object
systems.

The second, in Finistere, France, Sept 7-10, will discuss the
relationship between the semantics of databases an programming
languages as it appears in data types and data models, object oriented
programming, logic programming, higher-order relations etc.

The purpose of both workshops is to encourage informal discussions
among researchers in these areas and presentations of current
research.  Attendance at these workshops is limited and will be
decided on the basis of abstracts.

For more information, send mail to one of the following addresses.

In the US:

  Peter Buneman                  Rishiyur Nikhil
  CIS, Moore School/D2           Labporatory for Computer Science
  University of Pennsylvania     Massachusetts Institute of Technology
  Philadelphia, PA 19104         545 Technology Square
    (Peter@cis.upenn.edu)        Cambridge MA 02139
                                   (Nikhil@xx.lcs.mit.edu)

In Europe:
   Francois Bancilhon            Malcolm Atkinson
   INRIA                         Department of Computing Science
   BP 105                        University of Glasgow
   78153 Le Chesnay Cedex        Glasgow, G12 8QQ
   France                        Scotland
    (bancilhon@inria.uucp)         (mpa@cs.glasgow.ac.uk)

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

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