[comp.lang.prolog] Prolog utility library

psmielke@lotus.uwaterloo.ca (Peter Mielke) (11/16/90)

A few years ago i printed out a listing of the NBS/ICST Prolog utility
library for CProlog. (i'm looking for tree matching routines) Is there
anywhere where i can get an electronic version of the most
up to date version?

Thanks,
--
Peter Mielke                     Preferred ->  psmielke@lotus.UWaterloo.ca
University of Waterloo                         peter@doe.utoronto.ca
An undergrad that's been around too long...

ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe) (11/16/90)

In article <1990Nov16.001226.9300@watdragon.waterloo.edu>,
 psmielke@lotus.uwaterloo.ca (Peter Mielke) writes:
> A few years ago i printed out a listing of the NBS/ICST Prolog utility
> library for CProlog.

What *is* the NBS/ICST Prolog utility library?
What's in it?
Where do you get it?

> (i'm looking for tree matching routines)

Every Prolog predicate operates by tree matching.  Can you give a
more precise description of what you are looking for?
-- 
The problem about real life is that moving one's knight to QB3
may always be replied to with a lob across the net.  --Alasdair Macintyre.

psmielke@lotus.uwaterloo.ca (Peter Mielke) (11/17/90)

ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe) writes:
> In article <1990Nov16.001226.9300@watdragon.waterloo.edu>,
>  psmielke@lotus.uwaterloo.ca (Peter Mielke) writes:
> > A few years ago i printed out a listing of the NBS/ICST Prolog utility
> > library for CProlog.
> 
> What *is* the NBS/ICST Prolog utility library?
> What's in it?
> Where do you get it?

Well it was a big set of utility predicates (from basic predicates,
input/output, control, extended logic etc.) that was posted Dec 1986
under the prolog digest (vol 4 issue 80).

> > (i'm looking for tree matching routines)
> 
> Every Prolog predicate operates by tree matching.  Can you give a
> more precise description of what you are looking for?

specifically natural language parse tree matching routines (for
finding the obect, indirect object etc.)
--
Peter Mielke                     Preferred ->  psmielke@lotus.UWaterloo.ca
University of Waterloo                         peter@doe.utoronto.ca
An undergrad that's been around too long...

ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe) (11/23/90)

In article <1990Nov16.163342.1076@watdragon.waterloo.edu>, psmielke@lotus.uwaterloo.ca (Peter Mielke) writes:
> ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe) writes:
> > What *is* the NBS/ICST Prolog utility library?
> > What's in it?
> > Where do you get it?

> Well it was a big set of utility predicates (from basic predicates,
> input/output, control, extended logic etc.) that was posted Dec 1986
> under the prolog digest (vol 4 issue 80).

That still doesn't tell me how to _get_ it.  And it doesn't really tell
me what's in it either.  Is it Lagache's library, or the DEC-10 library,
or another?  Which basic predicates &c does it contain, and for which
dialect?

> > > (i'm looking for tree matching routines)
> specifically natural language parse tree matching routines (for
> finding the obect, indirect object etc.)

Yes, but what do your parse trees look like?  Why do you need special
matching routines?  It all depends on how _you_ *chose* to represent
that something is the object, or indirect object, or whatever.  With
one representation, you might write
	subj(Sub/((V/Obj)/Iobj), Sub).
	obj( Sub/((V/Obj)/Iobj), Obj).
	iobj(Sub/((V/Obj)/Iobj), Iobj).
With another representation, you might write something entirely different.
*Everything* in Prolog is a "tree matching routine".  What does *your*
parse tree data structure look like?

-- 
I am not now and never have been a member of Mensa.		-- Ariadne.

fuchs@ifi.unizh.ch (11/23/90)

> ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe) writes:
> > What *is* the NBS/ICST Prolog utility library?
> > What's in it?
> > Where do you get it?

I believe the following library is meant. It was published years ago in
the former Prolog Digest. Let me know if you want more than the header.

   --- nef


%%     NBS/ICST Prolog Utility Library
%%     version date: Nov. 25, 1986
%%
%%     developed by:
%%
%%     John Cugini <cugini@nbs-vms.arpa>
%%     Institute for Computer Sciences and Technology
%%     National Bureau of Standards
%%
%%     Product of US Government: not subject to copyright
%%
%%  This file contains various utility predicates, some commonly used,
%%  some not.  They deal with lists, structures, I/O, sets, numeric
%%  facilities, and some extensions of logic and control.  This library
%%  is written in and for the C-Prolog dialect of Prolog.
%%
%%  Many of these predicates expect certain of their arguments to be
%%  instantiated upon invocation.  When such restrictions apply it is
%%  usually the leading arguments which are thought of as input (and
%%  hence instantiated), and the trailing arguments as output (and hence
%%  allowed to be uninstantiated).
%%
%%  There is a coding convention: the user-callable version of the
%%  predicate has a plain name.  If this predicate needs sub-predicates,
%%  based on whether certain arguments are instantiated or not, the names
%%  of the sub-predicates are formed by appending a string of c,v, or
%%  x's, where c indicates argument must be constant (instantiated), v
%%  that it must be a variable, and x that it may be either.
%%
%%  Further, each main predicate is preceded by documentation lines,
%%  which describe the declarative meaning of the predicate, and which
%%  arguments must be instantiated.
%%
%%  The overall organization of the library is:
%%
%%      Basic predicates
%%      Lists
%%      Structures
%%      Input/Output
%%      Sets
%%      Numeric
%%      Control
%%      Extended Logic
%%