ECLiPSe enables the user to modify most of the system features, be it to customise it, build separate applications or include new features. Most of the built-in predicates can be modified by the user, several user-definable events allow the user to modify the Prolog top-level loop.