What if the ISO core standard were exactly the SWI-Prolog dialect?

I guess we would have one winner, and a lot of loosers.
Now that the ISO core standard has its own mix,
everbody is a looser. Isn’t that fair?

If Arity/Prolog would have won, we would have in the
ISO core standard maybe:

/**
 * Snips contain a goal or goals such that if backtracking 
 * attempts to resatisfy the snips, then the entire snips fail. 
 * It is similar to the cut but the scope of behavior is not the 
 * entire predicate but is delimited by the left and right 
 * barriers of the snips.
 */
goal1 :-
    subgoal1,
    [!
        subgoal2,
        subgoal3
    !],
    subgoal4.

http://petergabel.info/ArityProlog32/Programcontrol/

Just wonder whether this would give a nice syntax for
transactions. But I am afraid I have no clue how to parse it.
Maybe this is just the once/1 predicate?

1 Like