.\" ------------------------- seca4.t ------------------------- .sh 1 "Pragma Files" .pp Users may specify pragma information about SB-Prolog programs in a file called the \fIpragma file\fR for the program. The pragma file corresponding to a Prolog source file \fIfoo\fR is a file \fIfoo.def\fR which is either in the same directory as the source file, or is in a subdirectory \fIdefs\fR in the directory containing the source file. In other words, relative to the directory containing the source file \fIfoo\fR, the pragma file can be either \fIfoo.def\fR or \fIdefs/foo.def\fR. .pp Pragma information in such a file is specified as a set of facts \fIprag/3\fR. The first and second arguments are, respectively, the name and arity of the predicate for which information is being specified. The third argument is the pragma being specified, and can be either a term, or a list of terms. Thus, for example, to specify that an index is to be created on the first argument position for a predicate \fIbar\fR/3 in the file \fIfoo\fR, we would enter, in a file \fIfoo.def\fR, the fact ``prag(bar, 3, index)'' or ``prag(bar, 3, [index])''. .pp The pragma information that may be specified is limited, at this point, to information about indexing. If an index is to be created on argument \fIn\fR of a predicate, the corresponding pragma is a term ``index(\fIn\fR)''. In the special case where \fIn\fR = 1, the pragma ``\fIindex\fR(1)'' may be abbreviated to ``\fIindex\fR''. .sp .lp \fBAcknowledgements\fR .pp A large number of people were involved, at some time or another, with the Logic Programming group at SUNY, Stony Brook, and deserve credit for bringing the SB-Prolog system to its present form. The following names, in particular, ought to be mentioned: David Scott Warren, Weidong Chen, Suzanne Dietrich, Sanjay Manchanda, Jiyang Xu and David Znidarsic. The author is also grateful to Fernando Pereira for permission to use material from the C-Prolog manual for the descriptions of Prolog syntax and many of the builtins. .\" ------------------------ end of section seca4.t ----------------------