HDTenEightyP/NetNews huggingface dataset:
From: sivand@eng.auburn.edu (Sivand Lakmazaheri)
Newsgroups: comp.lang.prolog
Subject: load_foreign_files predicate & SBProlog
Date: 13 Oct 92 22:26:29 GMT
Reply-To: sivand@eng.auburn.edu
Organization: Auburn University Engineering


Is "load_foreign_files" a built-in predicate in Quintus prolog?
If so, is there an equivalent predicate for it in SBprolog?
Newsgroups: comp.lang.prolog
From: kielmann@isa.informatik.th-darmstadt.de (Thilo Kielmann)
Subject: Re: Copy of ISO standard for Prolog
Date: Thu, 15 Oct 1992 16:03:01 GMT
Organization: TU Darmstadt

In article <1992Oct14.105623.1@cgsvax.claremont.edu>, goldsmig@cgsvax.claremont.edu writes:
> Does anyone have knowledge of where I can apply for a copy of the draft ISO
> standard for Prolog?

You may try anonymous ftp from ftp.th-darmstadt.de

Directory: /pub/programming/languages/prolog/standard

Best wishes

Thilo Kielmann
From: masljg@gdr.bath.ac.uk (L J Groves)
Newsgroups: comp.lang.prolog
Subject: Rewriting systems in Prolog
Date: 7 Oct 92 10:36:41 GMT
Organization: School of Mathematics, University of Bath, UK

I am trying to write a rewriter in Prolog, as part of a program refinement
system.  It occurs to me that others have probably done this kind of thing, 
so ...  

Can anyone point me to any available implementations of rewriting systems in 
Prolog, or any published descriptions of same?

Just to explain further what I want from this rewriter:  I want to use the
rewriter to simplify the kinds of formulas that arise as verification
conditions (or proof obligations) in program development/verification.  Thus,
it needs to be able to handle logical connectives, arithmetic, and any other
data types (sets, bags, sequences etc) that I care to define via a set of
(conditional) rewrite rules.  Ideally it should use AC matching to avoid the
need for associativity and commutativity laws.  The rewriter should simplify
"obvious" formulas to true, and others to a form where obvious bits,
redundancy etc have been eliminated, leaving a set of lemmas that I can prove
separately.  As far as possible, I would like these residual lemmas to retain
the notation and structure of the original -- which means that I don't want to
use normalisation procedures that introduce different operators and totally
discard the original structure.

Now I realise this is asking for a lot, but I thought it worth enquiring to
see if anyone else has done or is doing this kind of thing.

I would also appreciate any suggestions regarding techniques for reducing
redundancy in rewriting, eg ways of ordering rules so that we don't need to
try every rewrite rule against every subformula at every stage in the
simplification process.

Cheers
	Lindsay


--------------
Lindsay Groves                     On leave from:	
School of Mathematical Sciences    Department of Computer Science
University of Bath                 Victoria University of Wellington
Bath, England                      Wellington, New Zealand
ljg@maths.bath.ac.uk               lindsay@comp.vuw.ac.nz
Newsgroups: comp.lang.prolog
From: torkel@sics.se (Torkel Franzen)
Subject: Re: Comprehensive understanding of logic languages
Organization: Swedish Institute of Computer Science, Kista
Date: Thu, 8 Oct 1992 08:58:34 GMT

In article <1992Oct8.071027.9935@greco-prog.fr> billaud@greco-prog.fr 
(Michel BILLAUD) writes:

   >Explication simpliste: les propositions mathematiques sont codees par
   >des termes, exemple : qqsoit  X ilexiste Y telque  p(X,Y) ou non p(Y,X).
   >si les quantificateurs portent sur des symboles 'de base' on est au premier
   >ordre, si ils portent sur l'existence d'une fonction telle que gnagna, 
   >on est a un ordre superieur. 

   An explanation such as this can cause considerable confusion, I believe,
even for somebody who knows French (which I don't). For how are we to
make sense, given this explanation, of statements such as those of axiomatic
set theory, which are said to be first order, but are nevertheless read
"for every function.." etc?

  So I suggest another explanation: the essential characteristic of
statements of first order logic is that they contain quantifiers only over
the "objects" in some "domain". This domain may contain anything,
including functions. We get higher order logic if we introduce quantifiers
over subsets of the domain, functions over the domain, etc.

  From this it may appear that the distinction is of little importance,
since instead of using higher order logic, one may use first order
logic simply by expanding the domain to contain the functions, etc,
that one is interested in. And indeed this is what is done in set
theory.

  In logic, the importance of the distinction emerges when we consider
the concepts of "truth in a model" and logical consequence in first
order logic and in second order logic. They are defined in quite
similar term, using more formal versions of my explanation of the
quantifiers above. However, logical consequence in first order logic
has a set of complete formal inference rules. This is not true of
second or higher order logic. Also, it is possible to uniquely
characterize infinite structures by second order axioms. This can
not be done using first order axioms.

  Note: what about e.g. logic with infinite disjunctions? Is this
first or higher order? There seems to be no standard usage. So when
"first order logic" is spoken of, it is usually assumed that ordinary
predicate logic is intended, as in my remarks above.

Newsgroups: comp.lang.prolog
From: eshghi@hplabsz.hpl.hp.com (Kave Eshghi)
Subject: Re: Uncompiled prolog (History of Prolog)
Date: Thu, 15 Oct 1992 22:53:31 GMT
Organization: Hewlett-Packard Laboratories Palo Alto,CA

Let's not forget IC-Prolog, the original Prolog with co-routining developed
by Frank McCabe at Imperial College in the late seventies. Its model of
co-routining led, on the one hand, to the Parlog-Concurrent Prolog class
of parallel logic languages, and on the other hand to the Mu-Prolog type
co-routining Prologs.

Kave Eshghi
Newsgroups: comp.lang.prolog
From: tim@quintus.com (Tim Lindholm)
Subject: Re: load_foreign_files predicate & SBProlog
Organization: Quintus Corporation, Palo Alto, CA
Date: Wed, 14 Oct 1992 17:32:36 GMT

Sivand Lakmazaheri writes:

> Is "load_foreign_files" a built-in predicate in Quintus prolog?

Yes.

-- 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: liggio@cunixf.cc.columbia.edu (Vincent J. Liggio)
Subject: Uncompiled prolog
Reply-To: liggio@cunixf.cc.columbia.edu (Vincent J. Liggio)
Organization: Columbia University
Date: Wed, 7 Oct 1992 17:25:42 GMT

Is there a source out there where the original 'evolving' uncompiled prolog
can be gotten from, or is Turbo (which I have) and other compiled versions
the only ones available?

Vince
From: ken@aiai.ed.ac.uk (Ken Johnson)
Newsgroups: comp.lang.prolog
Subject: Fast list rotation
Date: 15 Oct 92 11:18:44 GMT
Followup-To: comp.lang.prolog
Organization: Bugs-R-Us


If you are doing a lot of rotation and little appending and deletion,
you could reduce the time it takes to order(1) by changing your
representation. 

Suppose you represent a list by a term list(L,S,Xs) where L is the
number of things in the list, S is the current shift (initially zero)
and Xs are the items themselves, e.g. 

	list(4,0,[a,b,c,d])    is the list [a,b,c,d]
	list(4,1,[a,b,c,d])    is the list [b,c,d,a]
	list(5,2,[p,q,r,s,t])  is the list [r,s,t,p,q]

Some routines for accessing these structures follow.  You are welcome to
make free use of this code and to distribute it freely, but if you make
a profit I want a share. 


rotate(Rotation,list(L,S1,Xs),list(L,S2,Xs)) :-
	S2 is (Rotation + S1) mod L.

first(list(L,S,Xs),X) :-
	nth(S,Xs,X).

last(list(L,S,Xs),X) :-
	Index is (S + L) mod L,
	nth(Index,Xs,X).

Appending two of these things looks difficult, but the following might
work (I have not tested it)

append(list(L1,S1,Xs1),list(L2,S2,Xs2),list(La,0,Xsa)) :-
        append(1,L,list(L1,S1,Xs1),list(L2,S2,Xs2),X-X,Xsa-[]).

append(L,L,_,_,List,List).

append(N,L,list(L1,S1,Xs1),List2,X-[Item|Y],Xs_out) :-
        N =< L1,
        nth(N,list(L1,S1,Xs1),Item),
        N1 is N + 1,
        append(N1,L,list(L1,S1,Xs1),List2,X-Y,Xs_out).

append(N,L,list(L1,S1,Xs1),List2,X-[Item|Y],Xs_out) :-
        N > L1,
        N =< L,
        M is N - L1,
        nth(M,List2,Item),
        N1 is N + 1,
        append(N1,L,list(L1,S1,Xs1),List2,X-Y,Xs_out).


nth(N,list(L,S,Xs),X) :-
	Index is (N + S) mod L,
	nth(Index,Xs,X).

nth(1,[H|_],H).

nth(N,[_|T],X) :-
	N > 1,
	N1 is N - 1,
	nth(N1,T,X).



-- 
//// Advice to dieters:         ////  Ken Johnson, A I Applications Institute
////   Never eat more than      ////       80 South Bridge, EDINBURGH EH1 1HN
////   you can carry.           ////                 E-mail ken@aiai.ed.ac.uk
////              -- Miss Piggy ////     phone 031-650 2756  fax 031-650 6513
Newsgroups: comp.lang.prolog
From: aet@mullian.ee.mu.OZ.AU (bert thompson)
Subject: references to PARLOG ?
Organization: Computer Science, University of Melbourne, Australia
Date: Sat, 10 Oct 1992 07:18:47 GMT

hi!

i am using PARLOG, but unfortunately have no good references.
can anyone suggest some good references?
(i think there may be something in:
Concurrent Prolog, Vol. 1, by Shapiro).

btw, what do people think about PARLOG as a programming language?
good points? bad points?

many thanks,

	bert.

--------------------------------------------------------------------------------
bert thompson	aet@munagin.ee.mu.oz.au.
SITEE		school of information technology and electrical engineering
		university of melbourne
--------------------------------------------------------------------------------
Newsgroups: comp.lang.prolog
From: torkel@sics.se (Torkel Franzen)
Subject: Re: More about Horn clauses
Organization: Swedish Institute of Computer Science, Kista
Distribution: comp
Date: Fri, 16 Oct 1992 20:13:15 GMT

In article <1992Oct9.090720.14677@irisa.fr> ridoux@irisa.fr (Olivier Ridoux)
 writes:

   >Can you, or anybody else, tell us the tale of (hereditary) Harrop
   >formulas?

  So what's to tell? Hereditary Harrop formulas are ok, but they have no
ambience. There is nothing sacred about them. Horn clauses are a different
matter!
From: ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe)
Newsgroups: comp.lang.prolog
Subject: Re: Uncompiled prolog
Date: 12 Oct 92 07:37:38 GMT
Organization: Comp Sci, RMIT, Melbourne, Australia

In article <1992Oct7.172542.21894@news.columbia.edu>, liggio@cunixf.cc.columbia.edu (Vincent J. Liggio) writes:
> Is there a source out there where the original 'evolving' uncompiled prolog
> can be gotten from, or is Turbo (which I have) and other compiled versions
> the only ones available?

I do not know what "evolving" or "uncompiled" means.

The original Prolog is Marseilles Prolog; I believe that existed in several
languages but the one I've seen documentation for was coded in reasonably
portable Fortran.  That was an interpreter.  Someone may still have a copy
of the sources on a backup tape somewhere.  There were two other Prolog
implementations that have some claim to "originality" and still have some
influence:  Waterloo Prolog started out as someone's Masters project; it
was developed from published descriptions of the _ideas_ of Prolog, but I
heard that the author had no access to the sources of any Prolog.  Aspects
of that design live on in IBM Prolog.  Sources for the original Waterloo
Prolog may still be on a backup tape somewhere.  UNSW Prolog (described in
the Australian Computer Journal) was again developed from published _ideas_
without access to code.  That too was an interpreter.

ALS Prolog is an example of a Prolog system where clauses can be asserted,
listed, retracted, and so on, and yet they are always compiled.  Prolog-X
(Byrd & Clocksin) was (is?) another.

PDC (Turbo) Prolog is a logic programming language offering reasonable
performance on a PC (though there are conventional Prologs which are said
to outperform it) and a development environment which some people like
very much.  However, it has a rather inexpressive type system (compared,
say, with the DEC-10 Prolog type checker) and there are so many differences
between it and the family of programs advertised as "Edinburgh-compatible"
that it is better for practical purposes to think of it as a different
language.

If you have an 80386, SWI Prolog may be of use to you (free).
Newsgroups: comp.lang.prolog
From: fp+@cs.cmu.edu (Frank Pfenning)
Subject: JICLSP Workshop on Proofs and Types / Program
Organization: School of Computer Science, Carnegie Mellon
Date: Thu, 8 Oct 1992 20:41:31 GMT

			      Workshop Program

			      PROOFS AND TYPES

			  Friday, November 13, 1992
			   in conjunction with the
      Joint International Conference and Symposium on Logic Programming,
		 November 9-13, 1992, Washington, DC, U.S.A.

Organizing Committee:
  James Harland <jah@cs.mu.oz.au>, University of Melbourne
  Frank Pfenning <fp@cs.cmu.edu>, Carnegie Mellon University
  David Pym <dpym@lfcs.ed.ac.uk>, University of Edinburgh

Session 1

8:30-9:10
Reflections on the Foundations of Meta-Programming: Is a Type Theory Needed?
Francois Bry, ECRC

9:10-9:50
Combining Prescriptive and Taxonomic Types in Logic Programming
Pat Hill, University of Leeds

9:50-10:10
Soft Sorting: Integrating Static and Dynamic Sort Checking
Jian Chen, University of Queensland

--- 30 min break

Session 2

10:40-11:20
GCLA II : A Definitional Approach to Control
Per Kreuger, SICS

11:20-12:00
Finite Term Constraints and Their Use in GCLA
Martin Aronsson, SICS

--- lunch break

Session 3

1:30-2:10
Relating Logic Programming and Propositions-as-Types: A Logical Compilation
Jim Lipton, University of Pennsylvania

2:10-2:50
Towards Proof-Theoretic Characterizations of Constraint Logic
  Programming Languages
James Andrews, Simon Fraser University

2:50-3:10
Exploiting Proofs: Implementing Meta-theory in Elf
Frank Pfenning, Carnegie Mellon University

--- 30 min break

Session 4

3:40-4:20
A Logic Programming Language Based on ECC
Dominic Duggan, University of Waterloo

4:20-4:40
Types as Theories
Mario Florido and Luis Damas, University of Porto

--- 20 min break

Session 5

5:00-5:20
A Proof-Theoretical Reconstruction of Logic Programming
Mario Ornaghi, Universita di Milano and Alberto Momigliano, CMU

5:20-5:40
Unification of Higher-Order Patterns is Linear
Zhenyu Qian, University of Bremen
From: ridoux@irisa.fr (Olivier Ridoux)
Newsgroups: comp.lang.prolog
Subject: Re: More about Horn clauses
Date: 9 Oct 92 09:07:20 GMT
Distribution: comp
Organization: IRISA, Rennes (Fr)

From article <TORKEL.92Oct4080150@bast.sics.se>, by torkel@sics.se (Torkel Franzen):
> 
>   Since Alfred Horn and preservation theorems are apparently not
> universally familiar even among those who subsist largely on a crunchy
> diet of Horn clauses, some further remarks are clearly in order.
> 
>   Hear ye, hear ye. This is the tale of the Horn clause, as it has come
> down to us from the masters of old.
> 

Can you, or anybody else, tell us the tale of (hereditary) Harrop
formulas?

Here is why I ask the question:

Horn formulas are a nice start for logic programming because they
yield a so nice model-theoretic denotational semantics, and because
they are so like grammar rules, rewriting rules, production rules,
whatever simple rules.  A major result has not yet been mentioned:
every definable relation can be defined using only Horn formulas.
---> A computer scientist cannot but love them :-)

Harrop formulas are nice for more logic programming because they are a
superset of Horn formulas and they yield a so nice proof-theoretic
operational semantics, and because they are so like sequent calculus
deduction rules, typing rules, whatever less simple rules.  
---> A computer scientist cannot but love them more :-)

There is a model-theoretic semantics for logic programming with Harrop
formulas, also not so nice as for Horn clauses.

This thread started with a beginner asking general questions.  I only
wish we do not give only answers of a fifteen years old state of the
art.  (Fifteen is for logic programming.  For logic it is more, but it
is OK there.)

Olivier Ridoux
From: gupta@nmsu.edu (Gopal Gupta)
Newsgroups: comp.lang.prolog
Subject: Sharing Room at JICSLP92
Date: 15 Oct 92 19:41:25 GMT
Organization: NMSU Computer Science


Please let me know, ASAP, if you are looking to share a room at
JICSLP92.


Gopal Gupta
---------------------------------------------------------------------
Department of Computer Science	   email: gupta@nmsu.edu
Box 30001, Dept. 3CS		      	  gupta@compsci.bristol.ac.uk
New Mexico State University	   Ph: +1 (505) 646 6236 
Las Cruces, NM 88003-0001	   Fax: +1 (505) 646 6218
USA
---------------------------------------------------------------------
From: dik@comp.lancs.ac.uk (Richard Bentley)
Newsgroups: comp.lang.smalltalk
Subject: In need of refreshment in PP ST 4.1
Date: 13 Oct 92 16:33:24 GMT
Organization: Department of Computing at Lancaster University, UK.

I am porting an application to r4.1 from 4.0 and have noticed that
many of my Windows and Views are not getting refreshed when they
should. Unless I explicitly send self invalidate when I draw on the
graphicsContext, I get the strange effect of Views only updating 
when they become obscured and then brought forward again.

I put this down to the strangeness of my code until I tried to send
Transcript clear. What is going on ?

(I am using a Sun Sparxstation with X11r4 + Motif WM)

Richard

+------------------------------------+----------------------------+
| uucp :  ...!mcsun!ukc!dcl-cs!dik   |   Department of Computing  |
| arpa :  dik%lancs.comp@ucl.cs      |   University of Lancaster  |
| janet:  dik@uk.ac.lancs.comp       |   Bailrigg, Lancaster      |
| tel  :  (44) 524 65201 x3119       |   LA1 4YR,   UK.           |
+------------------------------------+----------------------------+
From: bush@ecs.ox.ac.uk (Mark Bush)
Newsgroups: comp.lang.smalltalk
Subject: Benchmark class info wanted
Date: 9 Oct 92 11:22:44 GMT
Organization: Oxford University Computing Laboratory
Originator: bush@thom5.ecs


Chapter 9 (at least in my version) of the Green Book describes the class
Benchmarks and provides some values generated by these benchmark
mechanisms.  Unfortunately, no information is given about the number of
iterations, etc, of each test, so it is very difficult to determine what the
values provided stand for.

Can anyone provide a list of the number of iterations that the tests use?

Are there any currently available tables of values for current smalltalk
implementations?

Mark
Newsgroups: comp.lang.smalltalk
From: steinman@is.morgan.com (Jan Steinman)
Subject: Re: Numeric Computing with Smalltalk
Organization: Morgan Stanley & Company
Date: Thu, 8 Oct 1992 14:42:38 GMT

In article <1992Oct7.182140.6410@msuinfo.cl.msu.edu> kamela@cps.msu.edu ([Ahmed
Mohamed Kamel]) writes:

   We are thinking of porting a large program from Fortran to Smalltalk
   (ObjectWorks 4.1)... are there any tricks that could be applied to the
   smalltalk code to enhance its speed performance?...

   test
	| x |
	x := 0.5.
	100000 timesRepeat: [
		x := x exp.
		x sin.
		(x > 1) ifTrue: [x := x /5]
				ifFalse: [x := x ** 1.1]].
	Transcript show: x printString.

This code has three needless message sends. Replace "x > 1" with "x > 1.0", and
the "5" with "5.0" to make it really sing, since it is going though a whole
bunch of double-dispatching to convert 1 to a float so it can be compared.

The second is less of a win: replace "x ** 1.1" with "x raisedTo: 1.1".

(By the way, it appears that the "ifFalse:" case is dead code, so fixing the
"5" will show no improvement.)

I wouldn't make your whole Smalltalk case stand on such a benchmark, however!
If this is representative of the sort of thing you need to do, it can be
quickly and easily implemented as a primitive -- I'd guess an hour's work or
so. Global optimizations are another matter...

To help figure out things like this, put a "self halt" at the beginning, and
repeatedly push the debugger "send" button on such benchmarks to be sure they
are "send clean".  With the changes I suggest, reapeatedly pressing "send"
should not result in any actual sends (everything is a primitive), and
indicates that your code is executing as efficiently as possible.

--
: : Jan Steinman	     bytesmiths@aol.com			 Bytesmiths : :
: : 2002 Parkside Court				   West Linn, OR 97068-2767 : :
: : 503/657-7703					       212/956-8722 : :
Xref: sparky comp.lang.smalltalk:2104 can.jobs:627
Newsgroups: comp.lang.smalltalk,can.jobs
Subject: Smalltalk/V Windows Programmer Wanted
From: jbtubman@skyler.arc.ab.ca (Jim Tubman)
Date: 09 Oct 92 23:22:05 GMT
Distribution: can
Organization: Alberta Research Council

[I am posting this article for a friend.  Reply to him, NOT TO ME.]

Digital Systems Group Inc. is looking for an experienced Smalltalk/V
Windows programmer.  For more information, interested people should
contact:

David J. Callele, President
Digital Systems Group, Inc.
P.O. Box 439
Saskatoon, Saskatchewan
Canada
S7K 3L6

Phone: (306) 665-1500
Fax:   (306) 665-6044

[Once again, do NOT contact me or the Alberta Research Council.]

--Jim Tubman
--
-------------------------------------------------------------------------------
James B. Tubman				 Alberta Research Council
Research Officer	                 Advanced Computing & Engineering Dept.
jbtubman@skyler.arc.ab.ca		 3rd Floor
tubman@titan.arc.ab.ca			 6815 - 8 Street NE
Phone: (403) 297-7590			 Calgary, Alberta
Fax:   (403) 275-3003			 Canada T2E 7H7
-------------------------------------------------------------------------------
     "The squid is no longer responding to the mind control!  Aaiiiieeeee!"
-------------------------------------------------------------------------------
Newsgroups: comp.lang.smalltalk
From: peterg@netcom.com (Peter Goodall)
Subject: Re: Least Memory for a PPR4 application (or recode in C++!?!)
Organization: Netcom - Online Communication Services  (408 241-9760 guest) 
Date: Tue, 13 Oct 1992 05:39:37 GMT

nadja@jetsun.weitek.COM (Nadja Adolf) writes:


>Excuse me? Many corporations set up their PCs with the minimum required
>RAM for enhanced mode - 2MB.

An excellent configuration for playing solitaire or mindsweeper!

Peter Goodall -- peterg@netcom.com

Newsgroups: comp.lang.smalltalk