If properly configured, the predicate edit/1
starts the built-in or user configured editor on the argument. The
argument can be anything that can be linked to a location: a file name,
predicate name, module name, etc. If the argument resolves to only one
location the editor is started on this location, otherwise the user is
presented a choice.

If a graphical user interface is available, the editor normally
creates a new window and the system prompts for the next command. The
user may edit the source file, save it and run make/0
to update any modified source file. If the editor cannot be opened in a
window it the same console and leaving the editor runs make/0
to reload any source files that have been modified.

The program can also be decompiled using listing/1
as below. The argument is listing/1
is just a predicate name, a predicate
indicator of the form Name/Arity, e.g., ?-
listing(mild/1).
or a head, e.g., ?- listing(likes(sam, _).,
listing all matching clauses. The predicate listing/0,
i.e., without arguments lists the entire program.8This
lists several hook predicates that are defined by default and
is typically not very informative.

?- listing(mild).
mild(dahl).
mild(tandoori).
mild(kurma).
true.

Tag confusing pages with doc-needs-help|Tags are associated to your profile if you are logged in