> > %a ^:union[op] %b
> >
> > %a :foo[op]:bar %b
>
> I think that any operators over 10 characters should
> be banished, and replaced with functions.
I'd agree with that. In fact probably anything over 4,
and even 4 is seriously pushing it.
I'll clarify that I am talking here about using adverbs.
>From A3 (about the colon):
Hence, this operator modifies a preceding operator
adverbially. ... It can be used to supply a ``step'' to a
range operator, for instance.
I would expect the length of these adverbs to fall in a
range somewhat the same as properties. So a word
like 'union' is reasonable, and even 'intersection' too.
Ignoring hyperoperators, one might use an adverb thus:
$a / $b : dbz_Inf
to have a divide by zero be treated as Infinity.
I can see scope for a bunch of adverbs that control how
a particular hyperoperation works. Thus, perhaps:
@a ^[/] @b : short
to stop iteration when the shortest of two arrays is used up.
But this assumes that the adverb applies to the ^[]
hyperop, not the / op.
Perhaps this is resolved thus:
@a ^[/ : dbz_Inf] @b : short
But I also suspect it would be good to be able to
associate distinct adverbs with the lhs and rhs of
a binary operation.
So I thought perhaps one could go down the path of
@a ^ :step(2) [/ : dbz_Inf] :step(3) @b : short
Hmm. Perhaps hyperop adverbs are preceded with
a ^ and one gets instead:
@a ^[/] @b : dbz_Inf, ^short, ^step(2,3)
--
ralph