Uživatelský mód je režim parseru, jenž lze vytvořit bez zásahu
do zdrojového kódu knihovny. Pro jeho zavedení je zásadní
implicitní klauzule procedury item
:
item(I+L):- deBug(modewarn,['(item) Implicit mode selector:',I+L,nl]), :-@ [I,L].Díky ní se v případě selektoru módu, který se neunifikoval s žádnou z klauzulí primitiva item volá predikát:
:-@ [I,L]který jako první parametr dostává selektor módu ke kterému před zavoláním připojí parametr , v němž může být po návratu vydán seznam úspěšných rozkladů.
Definice cílového predikátu je na tvůrci módu a může být umístěna v jeho zdrojovém kódu. Je na něm, aby implementoval predikát, který má stejný funktor jako selektor a o větší aritu.
Celý postup si ukážeme na příkladu.