[I6] I6 rule declarations

While perusing the source for Conditional Undo, I found this:

The Conditional Undo decision rule translates into I6 as "AllowUndo" with "That action cannot be undone.[paragraph break]" (A).

I can find documentation on [rule name] translates into I6 as “[keyword]” like constructions. However, the rest of it is a mystery to me. Could I pass any object by using “with”? What’s the intended use?

The “with” clause there is used to add Responses to the rule so that they don’t need to be hardcoded into the I6. In this case it just means that “the conditional undo decision rule response (A)” is defined as “That action cannot be undone.[paragraph break]” by default.

Yep, that much made sense, and its usage in the routine was straightforward. I suppose I’m more wondering about the utility of “with” and whether you can stack arguments. For instance, I’m thinking about this possibility:

The Conditional Undo decision rule translates into I6 as "AllowUndo" with "That action cannot be undone.[paragraph break]" (A) and "Undoing current action.[paragraph break]" (A)."

and whether “with” could append arguments to other phrases (is it a “matched as” clause?). I suppose I’m having a derp moment.

The “with” doesn’t provide arguments. It associates default responses with the rule, so that you can talk about “the conditional undo decision rule response (A)”.

Ah, I think I understand. And any rule can have default responses attached to it?

Yes. If you have several on the same rule, letter them (A) (B) ©…

Thank you, that makes everything clear.