Associating Predicates with Files

Information about loaded files and the predicates and clauses in them is returned by source_file/[1,2,3]. source_file/1 can be used to identify an absolute filename as loaded, or to backtrack through all loaded files. To find out the correlation between loaded files and predicates, call source_file/2. source_file/3 allows for querying about which clause for a predicate is in which loaded file. source_file/3 is useful for handling multifile predicates (see mpg-ref-multifile), but it works for predicates defined completely in one file, as well.

Any combination of bound and unbound arguments is possible, and source_file/3 will generate the others.