Prefixing a function parameter with ! is causing hang rather than immediate evaluation, possibly in interaction with bound names
Summary: See details.
I've defined a global function Concise Element String(Exclusion List), which receives a set of Elements and yields a concise string form of all elements in the set but not in the exclusion list.
If I try to evaluate, eg,
$subCards -> Has Elements -> Concise Element String(<$elm, $subElm>)
I had a dim recollection there was some way around this, and eventually found in the QL documentation: "You can defeat this, if you need to. If you begin a parameter with !, that means "evaluate this parameter here, with the current context, and pass the result to the function call". Conceptually, that seems like it should be very necessary, but in practice I have yet to find a case that actually needs it."
But if I evaluate
$subCards -> Has Elements -> Concise Element String(!<$elm, $subElm>)
the page hangs. Ditto if I eliminate the list literal and simplify it down to
$subCards -> Has Elements -> Concise Element String(!$elm)