HDTenEightyP/NetNews huggingface dataset:
From: poole@cs.ubc.ca (David Poole)
Newsgroups: comp.lang.prolog
Subject: International Logic Programming Symposium 93, Preliminary Announcement
Keywords: Vancouver, October 93
Date: 23 Nov 92 18:38:24 GMT
Organization: Computer Science, University of B.C., Vancouver, B.C., Canada
NNTP-Posting-Host: coopers.cs.ubc.ca



			   ************************
                         * PRELIMINARY ANNOUNCEMENT *
			   ************************
				       
		  INTERNATIONAL LOGIC PROGRAMMING SYMPOSIUM
				I L P S ' 9 3

		     Vancouver, British Columbia, Canada
			     26-29 October 1993

The 1993 International Logic Programming Symposium (formerly named the North
American Conference on Logic Programming (NACLP)) will be held on 26-29
October 1993 in Vancouver, British Columbia.  The technical program for the
conference will include tutorials, invited lectures, and presentations of
refereed papers.  Papers on any aspect of logic programming are invited.
Post conference workshops are scheduled for Saturday, 30 October.

The deadline for submitting papers to the Program Chair will be in
mid-April 1993.

A full announcement regarding this conference will appear shortly.  This
announcement and subsequent ones can be retrieved by anonymous ftp from
ftp.cis.upenn.edu from pub/meetings.

This Symposium is sponsored by the Association of Logic Programming
and Simon Fraser University.

  CONFERENCE CHAIR                      PROGRAM CHAIR
    Veronica Dahl                         Dale Miller
    School of Computer Science            Computer Science Department
    Applied Science Building 10857        200 South 33rd Street
    Simon Fraser University               University of Pennsylvania
    Burnaby, BC V5A 1S6  CANADA           Philadelphia, PA 19104-6389 USA
      E-mail: veronica@cs.sfu.ca            E-mail: dale@saul.cis.upenn.edu
      Phone: (604) 291-3372                 Phone: 215-898-1593
Newsgroups: comp.lang.prolog
From: joachim@ecrc.de (Joachim Schimpf)
Subject: Re: PROLOG puzzle frameworks
Reply-To: joachim@ecrc.de
Organization: European Computer industry Research Centre GmbH.
Date: Thu, 19 Nov 1992 09:59:04 GMT

In article 7932@skye.ed.ac.uk, ken@aiai.ed.ac.uk (Ken Johnson) writes:
>
>***  The Mr S and Mr P Problem, by David Warren
>
>There are two numbers M and N such that 1 < M & N < 100.  Mr S is told
>their sum S and Mr P is told their product P.  The following dialogue
>takes place:
>
>    Mr P: I don't know the numbers. 
>
>    Mr S: I knew you didn't know them; I don't know them either. 
>
>    Mr P: Now I know the numbers!
>
>    Mr S: Now I know them too!
> 
>Question: What are the numbers?

When a friend gave me this problem a few years ago, the bounds given were
1 < M,N < 50, which gives you a unique solution.

If my program is correct, there are four solutions in 1 < M,N < 100.

---------------------------------------------------------------------------
 Joachim Schimpf                                 Email   joachim@ecrc.de 
 European Computer-Industry Research Centre      Phone   +49 89 92699 111
 Arabellastrasse 17, D-8000 Munich 81, Germany   Fax     +49 89 92699 170

Newsgroups: comp.lang.prolog
From: tim@quintus.com (Tim Lindholm)
Subject: Re: Q: Synergy of C and prolog
Organization: Quintus Corporation, Palo Alto, CA
Date: Mon, 16 Nov 1992 17:29:59 GMT

> From: arjen@disnet.uucp (Arjen Duursma)
> Subject: Re: Q: Synergy of C and prolog
> Message-ID: <601@tower1.uucp>
> Date: 16 Nov 92 07:12:11 GMT
>
> The only prolog I know of that can be called from a C-program (or other
> languages) is Arity prolog. Works the other way around too (ofcourse).
>
> Arjen

I don't mean to instigate a round of "me too" postings, but there are several
other Prolog systems that let you call Prolog from C.  Quintus Prolog and I/F
Prolog (I'm pretty sure) can do it too.

-- Tim

Tim Lindholm				Manager, Prolog Technology Group
Quintus Corporation                     InterNet:       tim@quintus.com
2100 Geng Road                          FAX:            415 494 7608
Palo Alto, California 94303             Phone:          415 813 3844
Newsgroups: comp.lang.prolog
From: kylep@teal.csn.org (Douglas Kyle Pierce)
Subject: Re: Q: Synergy of C and prolog
Organization: Colorado SuperNet, Inc.
Date: Mon, 16 Nov 1992 04:24:01 GMT

I am working to connect Borland C++ 3.1 with PDC Prolog 3.31, which is the
latest version of Turbo Prolog (no longer a Borland product). It is still
a trial-and-error process to make these languages work together, but much
better than with Turbo Prolog. 

You can contact PDC (Prolog Development Center) at: sales@pdc.dk
They are in Denmark. Their phone number is: +45 36 72 10 22

Let me know if you have any luck with this.

Kyle Pierce
From: csa09@seq1.keele.ac.uk (Paul Singleton)
Newsgroups: comp.lang.prolog
Subject: Re: Looking for a cross-referencer for Prolog
Date: 17 Nov 92 21:59:01 GMT
Organization: Keele University, England

From article <87038@bcsaic.boeing.com>, by milan@bcsaic.boeing.com (Milan Richter):

> I need a program (cross-referencer?) for Prolog programs that can answer
> questions like:
> 
> - what predicates does predicate X call directly?
> - what predicates can be reached from predicate X? (transitive closure)
> - what predicates call predicate X directly?
> - from what predicates can predicate X be called? (closure again)
> - could predicate X eventually call itself? 

Another question:

  - is predicate X called in a way which requires it to be "dynamic"?
----
  __   __    Paul Singleton (Mr)           JANET: paul@uk.ac.keele.cs
 |__) (__    Computer Science Dept.        other: paul@cs.keele.ac.uk
 |  .  __).  Keele University, Newcastle,    tel: +44 (0)782 621111 x7355
             Staffs ST5 5BG, ENGLAND         fax: +44 (0)782 713082
From: jcampione@hpb.hwc.ca
Newsgroups: comp.lang.prolog
Subject: Re: Fuzzy predicates anyone?
Date: 16 Nov 92 12:07:07 EST
Organization: Health and Welfare, Canada

I am sorry that the previous message was posted without a title.
Please reffer to it for information on Fuzzy Prolog.
-Jose-
From: milan@bcsaic.boeing.com (Milan Richter)
Newsgroups: comp.lang.prolog
Subject: Re: Looking for a cross-referencer for Prolog
Date: 17 Nov 92 18:02:01 GMT
Organization: Boeing Computer Services

In article <GERD.92Nov13095757@kim.intellektik.informatik.th-darmstadt.de> gerd@intellektik.informatik.th-darmstadt.de (Gerd Neugebauer) writes:
>>>>>> On 11 Nov 92 23:20:09 GMT, milan@bcsaic.boeing.com (Milan Richter) said:
>
>MR> I need a program (cross-referencer?) for Prolog programs that can answer
>MR> questions like:
>
>How about the cross referencer supplied with Quintus Prolog? Maybe it's a
>starting point for your efforts (or serves your needs).
>RTFM about library(xref) --- At least in version 3.1.1 I am using.
>
>--
>     ____   ___    __   ___       Gerd Neugebauer

Thanks to Gerd and others who suggested using the cross-referencer supplied
with Quintus Prolog. I was not aware of it when I asked. 

-- Milan Richter
From: ken@aiai.ed.ac.uk (Ken Johnson)
Newsgroups: comp.lang.prolog
Subject: Permutations and combinations
Date: 18 Nov 92 12:15:13 GMT
Followup-To: comp.lang.prolog
Organization: William's Wonderful Wonky Widget Warehouse



Since getting permutations and combinations of N elements from a list is
a fairly common homework question,  I thought I'd let the group in on the
secret before they started to ask.

      Exercise for Teachers' Pets Everywhere: write code for
      permute(-N, +L, +P) and combine(-N, +L, +P), e.g.  combine(N,
      [u, v, w, x, y, z], [z, u, x]) should succeed and instantiate N
      to 3.


% Permutations and combinations
% Ken Johnson,  18 November 1992
% 
% You may copy and distribute this code freely,  but please acknowledge the
% source,  even if you only say `Actually I copied this code from Ken
% Johnson although I'm quite sure anybody with half a brain could have
% written it.' If you sell copies of my code at a profit,  I want a share. 

% permute(+N, +L, -C)
% instantiates C to a permutation of N elements of the list L

permute(0,_,[]).

permute(N,List,[X|More]) :-
	N > 0,
	member(X,List,Rest),
	N1 is N - 1,
	permute(N1,Rest,More).


member(H,[H|T],T).		% the usual member/3

member(X,[H|T],[H|U]) :-
	member(X,T,U).

% combine(+N,+L,-C)
% instantiates C to a combination of N elements of the list L

combine(0,_,[]).

combine(N,List,[X|More]) :-
	N > 0,
	combine_1(X,List,Rest),
	N1 is N - 1,
	combine(N1,Rest,More).

combine_1(X,[X|T],T).		% return an element of the list (X)
				% and the list (T) of those elements
combine_1(X,[_|T],U) :-		% that follow X in the list
	combine_1(X,T,U).

-- 
                                   //// Ken Johnson, A I Applications Institute
CNS server brain not responding   ////       80 South Bridge, EDINBURGH EH1 1HN
... still trying                 ////                  E-mail ken@aiai.ed.ac.uk
                                ////       Phone 031-650 2756  Fax 031-650 6513
From: jcampione@hpb.hwc.ca
Newsgroups: comp.lang.prolog
Subject: <None>
Date: 16 Nov 92 12:04:34 EST
Organization: Health and Welfare, Canada


Ok! here it is...

Author: Bradley L. Richards
Title: When facts get fuzzy
Journal: Byte, April 1988, pages 285-290.

Bradley also wrote  the Fuzzy Prolog Interpreter (in Ada)
It used to be available on BIX and BYTEnet
He also wrote a mater thesis: "Programming in Fuzzy Logic: Fuzzy Prolog"
On his article in BYTE he indicates that a copy of his thesis was available
(for $30.95)  from the National Technical Information Service (703) 487 4650.
The document to request is #ADA177940.

If you give me your mailing address or FAX I could send you a copy of
the article in BYTE.

Good Prologing...!

-Jose-

 
Newsgroups: comp.lang.prolog
From: rkumar@spartan.ac.BrockU.CA (Rahul Kumar)
Subject: Concurrent Prolog
Organization: Brock University, St. Catharines Ontario
X-Newsreader: Tin 1.1 PL4
Date: Sat, 21 Nov 1992 18:05:23 GMT

 I am doing a project on parallel processing and concurrent programming.
 I am looking for concurrent Prolog (if there is such a beast!!!).

 Help Help please!

 Thanks in advance.

 
-- 



				  Rahul Kumar
From: bradley@aifh.ed.ac.uk (Bradley Richards)
Newsgroups: comp.lang.prolog
Subject: Re: Fuzzy Predicates AnyoneIn article <1992Nov16.120436.471@hpb.hwc.ca>, jcampione@hpb.hwc.ca writes:
Date: 17 Nov 92 14:36:33 GMT
Reply-To: bradley@aifh.ed.ac.uk (Bradley Richards)
Organization: Dept of AI, University of Edinburgh, Scotland


 
# Ok! here it is...
# 
# Author: Bradley L. Richards
# Title: When facts get fuzzy
# Journal: Byte, April 1988, pages 285-290.
# 
# Bradley also wrote  the Fuzzy Prolog Interpreter (in Ada)
# It used to be available on BIX and BYTEnet
# He also wrote a master thesis: "Programming in Fuzzy Logic: Fuzzy Prolog"
# On his article in BYTE he indicates that a copy of his thesis was available
# (for $30.95)  from the National Technical Information Service (703) 487 4650.
# The document to request is #ADA177940.
# 
# If you give me your mailing address or FAX I could send you a copy of
# the article in BYTE.
# 
# Good Prologing...!
#    -Jose-

A thesis being what it is, you're likely to find the BYTE article easier to
read.
Also, ADA being the wonderfully standardized language that it isn't, some
people
have reported problems compiling the Fuzzy Prolog interpreter under their Ada
compilers (including a more recent version of the compiler I used when I wrote
it).

Hence, I'd suggest that you use the methods outlined in the BYTE article to
implement fuzzy reasoning under whatever Prolog you normally use.  The
article
specifically discusses Turbo Prolog, which was popular at that time, but the
code should be easily portable to any Prolog system.

Cheers,

Bradley
From: cdsm@doc.ic.ac.uk (Chris D S Moss)
Newsgroups: comp.lang.prolog
Subject: Re: PC Prolog Compilers
Date: 23 Nov 1992 18:23:35 -0000
Organization: Department of Computing, Imperial College, University of London, UK.
NNTP-Posting-Host: swan.doc.ic.ac.uk

>In article <721489167.F00001@ocitor.fidonet> Carl.Lemp@f2206.n124.z1.fidonet.org (Carl Lemp) writes:
>>I have used an old version of Turbo Prolog, do its limitations ( No 
>>univ, no functor, no asserting rules, typed variables ) rally get in 
>>the way for applications like Natural Language Processing?
>
In article <1992Nov15.184348.24877@athena.cs.uga.edu> mcovingt@aisun3.ai.uga.edu (Michael Covington) writes:
>Yes, because typically, in natural language processing, you'll want to
>accept some natural language input, translate it into a Prolog query, and
>then execute that query.  The lack of a "call" procedure in Turbo makes
>this either clumsy or impossible depending on exactly how you set it up.

I'm not sure I agree with this. There's an excellent example of a nl
query system in the Turbo Toolbox (do look at it), which sidesteps this 
problem with ease.

Basically, most nl systems turn the query into an internal set of queries
which map on to the predicates into the database. There is usually a quite
small number of these, so it is easy to provide a SPECIAL PURPOSE form of
call, of the form:
	call(dept(A,B)) :- dept(A,B).
	call(manages(A,B)) :- manages(A,B).
	...

This has two advantages over the lazy Prolog programmer's approach of
simply writing call and letting the implementation do the work.

1. It runs much quicker: a (compiled) procedure call is MUCH faster than
a metacall.
2. It's more robust. If you produce a rubbishy node in your tree it
fails cleanly (or you can trap it cleanly) rather than having a totally
undefined effect.

You CAN do functor and univ the same way, but it's clearly more tedious,
though I'm not clear that they are crucial in nl applications. As for
types, well, it's harder to input them, but there is some payback in
correcting errors as well as the efficiency gain, though most people
don't like them for that sort of programming as they limit many of the
general purpose predicates one can write. 

However, PDC has said it will bring out an environment compatible 
with the ISO standard, which doesn't
have types, so maybe you can wait for that.

One other thing: Turbo (PDC) doesn't have a grammar rule translator, or
didn't last time I looked. Though it's not essential it does save effort.

Chris Moss

Newsgroups: comp.lang.prolog
From: HVIRTANEN@finabo.abo.fi (Harry Virtanen INF)
Subject: Re: Fuzzy predicates anyone?
Organization: Abo Akademi University, Finland
Date: Mon, 16 Nov 1992 09:38:40 GMT
X-News-Reader: VMS NEWS 1.23


In <1731@ictser.UUCP> tusveld@ictser.UUCP writes:

> 
> Hello,
> 
> for an application I would like to use some fuzzy predicates. 
> Does anyone have some simple predicate definitions that make use of 
> standard Prolog arithmetic, and that can be used to illustrate use of 
> fuzzy values in Prolog?
> 
> Thanks in advance.
> 

Hmm! 
There is ofcourse some Fuzzy Prolog interpreters around (Prolog/P, 
Prolog-ELF etc.). I've experimented myself with building a simple
Fuzzy Prolog in which facts and rules are fuzzy, i.e. they have a
numeric value attached to them (call them certainty factors or what
ever). 

	(A<--B)<-p1    % rule
        (A<--)<-p2     % fact

If B is of type B1,B2,...., then T(B) = max(0,T(B1)+T(B2)-1)
If B is of type B1;B2;...., then T(B) = max(T(B1),T(B2))
If B is not B, then T(not B) = 1-T(B)
T((A<--)<-p) = p
T((A<--B)<-p) = max(0,p+T(B)-1) = T(A)

But I guess this not at all what you are seeking for

Harry "too fuzzy today" Virtanen
Abo Akademi University
Abo, Finland
Newsgroups: comp.lang.prolog
From: roland@sics.se (Roland Karlsson)
Subject: Re: Q: Synergy of C and prolog
Organization: Swedish Institute of Computer Science, Kista
	<601@tower1.uucp> <BERNARD.92Nov16091508@sirius.gte.com>
Date: Tue, 17 Nov 1992 10:04:26 GMT


SICStus Prolog can also be called from C.

--
Roland Karlsson             SICS, PO Box 1263, S-164 28 KISTA, SWEDEN
Internet: roland@sics.se    Tel: +46 8 752 15 40          Fax: +46 8 751 72 30
Telex: 812 6154 7011 SICS   Ttx: 2401-812 6154 7011=SICS
From: tuan@spicey.asd.sgi.com (Tuan Tran)
Newsgroups: comp.lang.prolog
Subject: Quintus Prolog on Silicon Graphics platform
Date: 16 Nov 92 17:30:44 GMT
Organization: Silicon Graphics, Inc., Mountain View, CA.
NNTP-Posting-Host: spicey.asd.sgi.com

Hi folks:

Do you happen to know if Quintus Prolog runs on the Silicon 
Graphics platform ?

Thanks.  Tuan
Newsgroups: comp.lang.prolog
From: mcovingt@aisun3.ai.uga.edu (Michael Covington)
Subject: Re: PC Prolog Compilers
Organization: AI Programs, University of Georgia, Athens
Date: Sun, 15 Nov 1992 18:43:48 GMT

In article <721489167.F00001@ocitor.fidonet> Carl.Lemp@f2206.n124.z1.fidonet.org (Carl Lemp) writes:
>I've been trying to evaluate Prolog compilers for the PC but I have 
>no real experience with any of them.  Can anybody provide some 
>feedback on Prolog compilers they have used?  Especially things like 
>execution speed for large programs and memory usage.  Can any of the 
>prolog compilers produce programs that will compare in speed to 
>something in 'C'?

It is not uncommon for even a mediocre Prolog implementation to run faster
than the same program in Pascal or C.  Provided, of course, that the program
is something that really *needs* the crucial features of Prolog, namely
unification and backtracking.  Because Prolog is designed to do these things
all the time, Prolog implementations have very efficient algorithms for doing
them (including the associated memory management).  These algorithms are
likely to be faster than what you could quickly put together in Pascal or C.

In particular, "malloc" or "new" in C or Pascal respectively can turn out to
be a lot slower than the comparable memory management operations in Prolog,
because Prolog is implemented with the expectation that dynamic memory
management will be going on all the time, whereas C or Pascal implementors
tend to view dynamic mem. allocation as something you do only occasionally
and which therefore need not be terribly fast.

>I have used an old version of Turbo Prolog, do its limitations ( No 
>univ, no functor, no asserting rules, typed variables ) rally get in 
>the way for applications like Natural Language Processing?

Yes, because typically, in natural language processing, you'll want to
accept some natural language input, translate it into a Prolog query, and
then execute that query.  The lack of a "call" procedure in Turbo makes
this either clumsy or impossible depending on exactly how you set it up.


-- 
:-  Michael A. Covington     internet mcovingt@uga.cc.uga.edu 
:-  Artificial Intelligence Programs       phone 706 542-0358
:-  The University of Georgia                fax 706 542-0349
:-  Athens, Georgia 30602-7415 U.S.A.     amateur radio N4TMI
From: ken@aiai.ed.ac.uk (Ken Johnson)
Newsgroups: comp.lang.prolog
Subject: Re: PROLOG puzzle frameworks
Date: 18 Nov 92 12:27:53 GMT
Followup-To: comp.lang.prolog
Organization: William's Wonderful Wonky Widget Warehouse



In a message originally to All, atrium!sysop asked for:

#  Logic puzzles such as those posed by Dell's Official Pencil Puzzles and
#  Word Games.  You know, those puzzles that seem to appear on those
#  intelligence or Mensa quizzes. 


Here's one I got from Dr. Peter Ross here:


***  The Mr S and Mr P Problem, by David Warren

There are two numbers M and N such that 1 < M & N < 100.  Mr S is told
their sum S and Mr P is told their product P.  The following dialogue
takes place:

    Mr P: I don't know the numbers. 

    Mr S: I knew you didn't know them; I don't know them either. 

    Mr P: Now I know the numbers!

    Mr S: Now I know them too!
 
Question: What are the numbers?

Ken Johnson comments:

            genius(X) :-
            	solves(mr_s_and_mr_p_puzzle,X).



-- 
                                   //// Ken Johnson, A I Applications Institute
CNS server brain not responding   ////       80 South Bridge, EDINBURGH EH1 1HN
... still trying                 ////                  E-mail ken@aiai.ed.ac.uk
                                ////       Phone 031-650 2756  Fax 031-650 6513
Newsgroups: comp.lang.prolog
From: scip2012@nusunix1.nus.sg (WU JIANHUA)
Subject: Re: Q: Synergy of C and prolog
Organization: National University of Singapore
X-Newsreader: TIN [version 1.1 PL6]
Date: Wed, 18 Nov 1992 01:02:23 GMT

Arjen Duursma (arjen@disnet.uucp) wrote:
: The only prolog I know of that can be called from a C-program (or other
: languages) is Arity prolog. Works the other way around too (ofcourse).
: 
: 
: Arjen

Another one is SICSTUS Prolog, as I know.

********************************************************************************
        **   **            Wu, Jianhua
       **   ** **  **   ** Dept. of Infomation Systems & Computer Science
      **   *** ** ** * **  National University of Singapore 
 **  **   **  ** ** * **   Singapore 0511
**  **   **  ** *******    E-Mail: WuJianHu@ISCS.NUS.SG, Scip2012@NUSUNIX.NUS.SG
****   ***  **  ** **      Phone : +65 7726136       Fax: +65 7794580
From: bronsard@cs.uiuc.edu (Francois Bronsard)
Newsgroups: comp.lang.prolog
Subject: A paper on Directionality and Termination
Date: 18 Nov 92 14:19:46 GMT
Organization: University of Illinois, Dept of Comp Sci, Urbana, IL

Hi,
We had presented a paper titled "A framework of directionality
for proving the termination of logic programs" at the JICSLP '92
in Washington DC last week. Since some of our audience expressed
interest in the paper, we are making available the long version
of the paper, complete with examples and proofs.  The paper can be
obtained by anonymous ftp on the machine a.cs.uiuc.edu in the
directory /pub/reddy/termination.  The files are termination.dvi (for
a dvi version) or termination.ps (for a postscript version).

The essential idea is two-fold:

a. To describe a rich notion of directionality for logic programs
via a combination of MODES and REGULAR TREES. Modes can
be quite useful in reasoning about interesting semantic
properties of logic programs.

b. To use the above notion of modes in proving termination of logic
programs. We present some simple termination theorems and give examples
of powerful (yet simple) well-founded orderings that can be used to
prove termination of non-trivial programs in a simple manner.

We'd appreciate comments.

Francois Bronsard, T.K. Lakshman, and Uday S. Reddy
Newsgroups: comp.lang.prolog