Success: block(a_goal, label, true). % similar to a label for a 'goto' exit_block(label). % the associated 'goto' statement. [eclipse]: [user]. go:- getval(i,2) -> exit_block(hello). user compiled 100 bytes in 0.02 seconds yes. % go/0 exits with Tag 'hello' if % the global variable i is 2. [eclipse]: setval(i,1), block(go, hello, write(hello)). no. [eclipse]: setval(i,2),block(go,hello,writeln(hello)). hello yes. Fail: block(exit_block(t), t, 3 = 2). Error: block(go, hello, Recovery). (Error 4). block(Goal, any, thing). (Error 4). block(go, hello(X), problem). (Error 5). block(go, hello, "a"). (Error 5). block(nonex, t, write(bye)). (Error 68).