From lcmason@attcanada.ca Thu May 24 21:22:32 2001
Received: from attcanada.ca (tor-smtp4.attcanada.ca [207.181.101.72])
	by swi.psy.uva.nl (8.11.2/8.11.2) with ESMTP id f4OJMV329629
	for <prolog@swi.psy.uva.nl>; Thu, 24 May 2001 21:22:31 +0200 (MET DST)
Received: from mashadar.attcanada.ca (van-bc53-133.netcom.ca [216.129.73.197])
	by attcanada.ca (8.8.7-s-4/8.8.7) with ESMTP id PAA00241
	for <prolog@swi.psy.uva.nl>; Thu, 24 May 2001 15:22:24 -0400 (EDT)
Message-Id: <5.0.2.1.0.20010524120420.00a12b20@inbox.attcanada.ca>
X-Sender: lcmason@inbox.attcanada.ca
X-Mailer: QUALCOMM Windows Eudora Version 5.0.2
Date: Thu, 24 May 2001 12:24:46 -0700
To: prolog@swi.psy.uva.nl
From: Lindsay Mason <lcmason@attcanada.ca>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"; format=flowed
Subject: [SWIPL] indexing clarification

Hello,

I would like some clarification on indexing.  Below I have quoted a 
sentence from the documentation for 'index':

"Only atoms, integers and functors (e.g. name and arity of a term) are 
considered."

What is meant by a 'functor'?  I assume this means that during indexing 
grocery/6 is treated as a 'functor' and not as a term with functor '/' and 
arity 2.  ie.  /(grocery,6)

So does that mean that the following can be indexed on the first argument?

tables(grocery/6, A, B, tables(A, C, D), tables(B, C, D)).

Also, do other prolog implementations do the same?

thanks,


Lindsay Mason

