| Home > Publications > Reports > Informatics (CW) |
CW 486
Vitor Santos Costa, Bart Demoen, Phuong-Lan Nguyen
Big facts, void variables, the WAM and exo-compilation
Abstract
Prolog systems need to deal with large sets of wide facts, e.g. in the context of ILP. These facts are often regular in the sense that all arguments are atoms. We investigate a compilation schema (which we name exo-compilation) of such facts which reduces the memory needed for the code to about one third of the normal WAM compilation schema without undue slowdown. As a bonus, we get a significantly better treatment of queries with lots of void variables: this also occurs frequently in the ILP context. We discuss generalisations of the basic idea, we present an empirical evaluation in hProlog and we show how (dynamic) indexing can be integrated in the approach as well. All these issues are explained in the context of an emulator, but a compiler (to C or native code) can benefit from the idea as well.
report.pdf (230K) / mailto: B. Demoen
