general Prolog hints when defining predicates don't use hyphens in identifier names indefinite iteration can be implemented as recursion but avoid left recursion when in the interpreter don't reload in the middle of a trace dealing with error messages note that line numbers and column numbers are given don't worry about "can't redefine ,/2" this is just a syntax error, usually an obvious one many errors result from replacing a comma by a period, etc. if you get an undefined variable error message don't worry about "If these are defined at runtime using assert/1, use :- dynamic Name/Arity." dealing with warnings do worry about warnings re singleton variables can use an anonymous variable if you really want a singleton you probably do not have to worry about the warning re clauses of a particular predicate not being stored together if there's a typo and you can't back up, try typing a period to end your query you may need an end quote, right brace, etc. if you don't get a prompt when you expect one (e g., after error) you may have left a definition, string, etc. uncompleted. if not, try typing a space, or ^C, or a (for abort) or just go ahead and type your text there is a Prolog text in the library coures reserves don't forget about the manual available in the Help menu