diff --git a/docs/index/iclp07.tex b/docs/index/iclp07.tex index 79557ec34..bb6477680 100644 --- a/docs/index/iclp07.tex +++ b/docs/index/iclp07.tex @@ -92,7 +92,7 @@ \authorrunning{V. Santos Costa, K. Sagonas and R. Lopes} \institute{ - University of Porto, Portugal + LIACC- DCC/FCUP, University of Porto, Portugal \and National Technical University of Athens, Greece } @@ -184,13 +184,13 @@ remarks. % Indexing in Prolog systems: Many Prolog systems still only support indexing on the main functor symbol of the first argument. Some -others, like YAP version 4, can look inside some compound +others, such as YAP version 4, can look inside some compound terms~\cite{YAP}. SICStus Prolog supports \emph{shallow backtracking}~\cite{ShallowBacktracking@ICLP-89}; choice points are fully populated only when it is certain that execution will enter the clause body. While shallow backtracking avoids some of the performance problems of unnecessary choice point creation, it does not offer the -full benefits that indexing can provide. Other systems like +full benefits that indexing can provide. Other systems such as BIM-Prolog~\cite{IndexingProlog@NACLP-89}, SWI-Prolog~\cite{SWI} and XSB~\cite{XSB} allow for user-controlled multi-argument indexing. Notably, ilProlog~\cite{ilProlog} uses compile-time heuristics and @@ -229,7 +229,7 @@ Nevertheless, it is true that unless the modes of predicates are known we run the risk of doing indexing on output arguments, whose only effect is an unnecessary increase in compilation times and, more importantly, in code size. In a programming language -like Mercury~\cite{Mercury@JLP-96} where modes are known the compiler +such as Mercury~\cite{Mercury@JLP-96} where modes are known the compiler can of course avoid this risk; indeed in Mercury modes (and types) are used to guide the compiler generate good indexing tables. However, the situation is different for a language like Prolog. Getting accurate @@ -239,7 +239,7 @@ do not come with one. More importantly, it requires a lot of discipline from the programmer (e.g., that applications use the module system religiously and never bypass it). As a result, most Prolog systems currently do not provide the type of indexing that -applications require. Even in systems like Ciao~\cite{Ciao@SCP-05}, +applications require. Even in systems such as Ciao~\cite{Ciao@SCP-05}, which do come with a built-in static analyzer and more or less force such a discipline on the programmer, mode information is not used for multi-argument indexing. @@ -846,7 +846,7 @@ The observant reader has no doubt noticed that Algorithm~\ref{alg:construction} provides multi-argument indexing but only for the main functor symbol. For clauses with compound terms that require indexing in their sub-terms we can either employ a program -transformation like \emph{unification +transformation such as \emph{unification factoring}~\cite{UnifFact@POPL-95} at compile time or modify the algorithm to consider index positions inside compound terms. This is relatively easy to do but requires support from the register allocator @@ -933,11 +933,6 @@ table thus is killed in several steps: \item Walk the table and release any references it may hold. \item Physically recover space. \end{enumerate} -%% It is interesting to observe that at the end of an \emph{itemset-node} -%% the emulator can remove references to the current index, hence freeing -%% the code it is currently executing. This happens on the last member of -%% the \emph{itemset-node}, so the emulator reads all the instruction's -%% arguments before executing the instruction. \section{Implementation in XXX and in YAP} \label{sec:impl} @@ -1216,7 +1211,8 @@ from one to more than two orders of magnitude. \item[\Susi] learns from shopping patterns; \item[\Mesh] learns rules for finite-methods mesh design; \item[\Carcino, \Choline, \Pyrimidines] try to predict chemical - properties of compounds and store them as tables; + properties of compounds and store them as tables, given their + chemical composition and major properties; \item[\Thermolysin] also manipulates chemical compounds but learns from the 3D-structure of a molecule's conformations. \end{description}